programing

파워셸에서 파이썬을 사용하려고 합니다.

itmemos 2023. 9. 4. 19:34
반응형

파워셸에서 파이썬을 사용하려고 합니다.

저는 파이썬 더 하드웨이를 배우기 위해 제드 쇼의 가이드를 따르려고 합니다.Powershell에서 파이썬을 사용해야 합니다.Python 2.7.3이 설치되어 있습니다.C:\Python27Powershell에 python을 입력할 때마다 'python'이라는 용어가 cmdlet, 함수, 스크립트 파일 또는 작동 가능한 프로그램의 이름으로 인식되지 않는다는 오류가 발생합니다.또한 다음과 같이 입력했습니다.[Environment]::SetEnvironmentVariable("Path", "$env:Path;C:\Python27", "User")그것은 제안된 해결책이었지만 Powershell에 파이썬을 입력하는 것은 여전히 아무 것도 하지 않습니다.나는 "시작 파이썬"을 입력할 수 있고 파이썬으로 창을 열 수 있지만 파워셸에 필요합니다.감사해요.

경로를 다음과 같이 설정해 보십시오.

 $env:path="$env:Path;C:\Python27"

이 명령어는 저에게 도움이 되었습니다(Python 3.3).

[System.Environment]::SetEnvironmentVariable("PATH", $Env:Path + ";C:\Python33", "Machine")

그 후에 파워셸을 다시 시작해야 했습니다.

$env:path="$env:Path;C:\Python27"현재 세션에 대해서만 설정됩니다.다음 번에 파워셸을 열 때도 같은 작업을 다시 수행해야 합니다.

[Environment]::SetEnvironmentVariable()이 방법은 올바른 방법이며 PATH 환경 변수를 영구적으로 설정했을 것입니다.파워셸을 다시 시작하면 이 경우의 효과를 확인할 수 있습니다.

디렉터리가 올바르게 설정되지 않았으므로 다음 단계를 수행하십시오.

  1. "내 컴퓨터">오른쪽 클릭>속성>"시스템 속성">"고급" 탭
  2. "환경변수">"경로">"편집"
  3. 변수 값 상자에 다음이 표시되는지 확인합니다.

    ;c:\tau27\;c:\tau27\tau

  4. 확인을 클릭하고 Windows 전원 셸을 다시 시작하여 이 변경 내용을 테스트합니다.유형

    비단뱀

  5. 이제 파이썬 버전 2가 실행됩니다! 야!

영구적인 솔루션의 경우 다음과 같은 작업이 가능하다는 것을 알게 되었습니다.

[Environment]::SetEnvironmentVariable("Path", "$env:Path;C:\Python 3.5")

이것은 나에게 영구적으로 효과가 있습니다.

[Environment]::SetEnvironmentVariable("Path", "$env:Path;C:\Python27","User")

Python Guide에서 저에게 도움이 된 것은 다음과 같습니다(Python 2.7.9).[Environment]::SetEnvironmentVariable("Path", "$env:Path;C:\Python27\;C:\Python27\Scripts\", "User")

Windows에 Python을 설치하면 경로가 올바르게 구성되지 않는 경우가 있습니다.

입력해야 합니다.[Environment]::SetEnvironmentVariable("Path", "$env:Path;C:\Python27", "User")
PowerShell에서 올바르게 구성할 수 있습니다.

또한 PowerShell을 다시 시작하거나 전체 컴퓨터를 다시 시작해야 제대로 복구할 수 있습니다.

다음 방법으로 명령을 사용해 보십시오.

PS C:\Users\XXX>python.exe

다음 대신:

C:\Users\XXX>python

MaxPRAPERPERTY가 언급했듯이:

구글에서 여기에 온 사람들에게 참고할 점은 답변 설정 경로가 모두 올바르다는 것입니다. 하지만 이 문제는 아마도 파이썬 설치자에게 경로 자체를 설정하는 데 필요한 관리 권한을 부여하지 않았기 때문일 것입니다.또는 설치 관리자를 마우스 오른쪽 단추로 클릭하고 관리자 권한으로 실행을 선택한 다음 설치를 복구하는 방법이 있을 수 있습니다.그래도 작동하지 않으면 아래의 [환경] 답변을 선택하여 파이썬 버전 및 설치 디렉토리에 해당합니다.2015년 11월 18일 20시 6분에 MaxPRAPerty.

Python 설치 관리자가 경로 자체를 추가하도록 하는 것이 현명할 수 있습니다.여기서 문제는 기본적으로 Python 설치 관리자가 경로를 추가하지 않는다는 것입니다.설치 프로세스 중에 직접 확인하는 대신 아래로 스크롤하여 무엇이 설치되었는지 주의 깊게 살펴야 합니다.next

이 할 수 없다는 것입니다.run as administrator설치가 완료되면 사용할 수 있습니다.제거 및 재설치는 가능하지만 가장 간단한 방법은 마우스 오른쪽 단추를 클릭하고Troubleshoot compatibility에는 "추가'를에 "설치할 항목"을 클릭합니다.next그런 다음 파워셸을 다시 시작합니다.Voila 가 있어요.저한테는 효과가 있어요.

셸 창을 다시 시작하지 않고 Python을 즉시 사용할 수 있으려면 시스템, 프로세스 및 사용자의 경로를 변경해야 합니다.

Function Get-EnvVariableNameList {
    [cmdletbinding()]
    $allEnvVars = Get-ChildItem Env:
    $allEnvNamesArray = $allEnvVars.Name
    $pathEnvNamesList = New-Object System.Collections.ArrayList
    $pathEnvNamesList.AddRange($allEnvNamesArray)
    return ,$pathEnvNamesList
}

Function Add-EnvVarIfNotPresent {
Param (
[string]$variableNameToAdd,
[string]$variableValueToAdd
   ) 
    $nameList = Get-EnvVariableNameList
    $alreadyPresentCount = ($nameList | Where{$_ -like $variableNameToAdd}).Count
    #$message = ''
    if ($alreadyPresentCount -eq 0)
    {
    [System.Environment]::SetEnvironmentVariable($variableNameToAdd, $variableValueToAdd, [System.EnvironmentVariableTarget]::Machine)
    [System.Environment]::SetEnvironmentVariable($variableNameToAdd, $variableValueToAdd, [System.EnvironmentVariableTarget]::Process)
    [System.Environment]::SetEnvironmentVariable($variableNameToAdd, $variableValueToAdd, [System.EnvironmentVariableTarget]::User)
        $message = "Enviromental variable added to machine, process and user to include $variableNameToAdd"
    }
    else
    {
        $message = 'Environmental variable already exists. Consider using a different function to modify it'
    }
    Write-Information $message
}


Function Get-EnvExtensionList {
    $pathExtArray =  ($env:PATHEXT).Split("{;}")
    $pathExtList = New-Object System.Collections.ArrayList
    $pathExtList.AddRange($pathExtArray)
    return ,$pathExtList
}


Function Add-EnvExtension {
Param (
[string]$pathExtToAdd
   ) 
    $pathList = Get-EnvExtensionList
    $alreadyPresentCount = ($pathList | Where{$_ -like $pathToAdd}).Count
    if ($alreadyPresentCount -eq 0)
    {
        $pathList.Add($pathExtToAdd)
        $returnPath = $pathList -join ";"
        [System.Environment]::SetEnvironmentVariable('pathext', $returnPath, [System.EnvironmentVariableTarget]::Machine)
        [System.Environment]::SetEnvironmentVariable('pathext', $returnPath, [System.EnvironmentVariableTarget]::Process)
        [System.Environment]::SetEnvironmentVariable('pathext', $returnPath, [System.EnvironmentVariableTarget]::User)
        $message = "Path extension added to machine, process and user paths to include $pathExtToAdd"
    }
    else
    {
        $message = 'Path extension already exists'
    }
    Write-Information $message
}

Function Get-EnvPathList {
    [cmdletbinding()]
    $pathArray =  ($env:PATH).Split("{;}")
    $pathList = New-Object System.Collections.ArrayList
    $pathList.AddRange($pathArray)
    return ,$pathList
}

Function Add-EnvPath {
Param (
[string]$pathToAdd
   ) 
    $pathList = Get-EnvPathList
    $alreadyPresentCount = ($pathList | Where{$_ -like $pathToAdd}).Count
    if ($alreadyPresentCount -eq 0)
    {
        $pathList.Add($pathToAdd)
        $returnPath = $pathList -join ";"
        [System.Environment]::SetEnvironmentVariable('path', $returnPath, [System.EnvironmentVariableTarget]::Machine)
        [System.Environment]::SetEnvironmentVariable('path', $returnPath, [System.EnvironmentVariableTarget]::Process)
        [System.Environment]::SetEnvironmentVariable('path', $returnPath, [System.EnvironmentVariableTarget]::User)
        $message = "Path added to machine, process and user paths to include $pathToAdd"
    }
    else
    {
        $message = 'Path already exists'
    }
    Write-Information $message
}

Add-EnvExtension '.PY'
Add-EnvExtension '.PYW'
Add-EnvPath 'C:\Python27\'

질문은 Python 2.7에 대한 것이지만 오래된 것으로 표시되지 않았기 때문에 업데이트된 답변도 제공하는 것이 맞을 것입니다.Python 3.3 이상 버전의 경우,python명령이 더 이상 최적이 아니며 Windows Store를 여는 것과 같은 예기치 않은 결과를 초래할 수 있습니다.

의도된 방법은 기본적으로 정식 설치와 함께 제공되는 파이썬 런처를 사용하는 것입니다(아마도 시스템에 이미 설치되어 있을 것입니다).단순 사용py서 명령어는 에 이에어명내립다니을령서디전▁previous입니다.python사용되었습니다.자세한 내용은 여기에 있습니다.

를 들면 를들면예,
하려면: " " " " " " " " " " " "py -0p --list-paths
스크립트 실행 방법:py -3. main.py아니면 간단히py main.py
이 질문에서 질문한 대로 파워셸에서 직접 사용하려면:

업데이트: 추가 확인.

그냥 "사용자"라는 단어를 제거하세요.그건 작동할 것이다.

  1. 윈도우즈용 Nodejs 다운로드
  2. node-vxxx.vmx 설치
  3. "Node.js용 추가 도구 설치" 스크립트 찾기
  4. 열고 설치합니다.
  5. 새 셸 프롬프트를 다시 열고 "shell"을 입력합니다. >> "enter" >> 작동합니다!!

언급URL : https://stackoverflow.com/questions/11813435/im-trying-to-use-python-in-powershell

반응형