Windows에서`#! / usr / bin / env python` 작동


14

MSYS에서 제공하는 Windows에서 Bash를 사용합니다.

shebang과 함께 Python 파일을 실행하려고 시도했지만 #!/usr/bin/env python다음 오류 메시지가 표시됩니다.

/usr/bin/env: python: No such file or directory

이 작업을 수행하려면 어떻게해야합니까?

접미사로 파이썬 파일을 시작할 수 있다는 것을 알고 python있지만 접미사 없이도 작동하도록하고 싶습니다.

답변:


8

대신 Python이 설치된 올바른 경로를 사용하십시오 (예 :

#!c:/Python/python.exe

시스템에서 유닉스 계열의 경로를 지원하는 경우 (MSYS에 익숙하지 않음) 항상 python실행 파일 의 경로 ( 예 :의 출력) 를 입력 할 수 있습니다 which python.


2
또는 envasker 가하는 것처럼을 사용할 수 있습니다 .
Ignacio Vazquez-Abrams

나는 shebang을 바꿀 수 없다. 그것은 Linux와 Mac에서 작동하는 다른 프로그래머들을 포함하는 프로젝트의 일부이다.
Ram Rachum

@RamRachum 무엇의 출력입니다 which envwhich pythontype python?
Daniel Beck


0

셸에서 실행할 때 발생하는 작업 :

$ /usr/bin/env python

..?

대화 형 파이썬 세션을 시작하면 파이썬을 찾을 수 있습니다. (또한 간단하게 실행할 수 있습니다 :) type python. "이러한 파일이나 디렉토리 python가 없습니다 "라고 인쇄되면 PATH에없는 것입니다. 문제를 해결하기 위해 다음을 조정할 수 있는지 확인하십시오 (경로 / to / python의 공백으로 인해 문제가 발생할 수 있음).

$ export PATH=$PATH:/path/to/python
$ /usr/bin/env python

0

Virtualenv activate.sh파일과 MSYSGIT 가 일치하지 않는 것으로 나타났습니다 . Windows에서는 작동하지 않았습니다.


0

최신 버전의 Windows 10은 Linux 하위 시스템 설치를 지원합니다. 거기에서 실행하면 경로가 정확해야합니다.

그런 식으로 실행해도 괜찮다면 작동하는 솔루션이어야합니다.


0

문제의 근원은 shebangs의 공백이 실행 파일에 추가 인수를 제공하는 것으로 해석되므로 인수 C:\Program Files\Python\python.exeC:\Program제공된 Files\Python\python.exe것입니다.

cmd.exe와 Powershell 및 기타 도구에서 실제로 문제를 일으킬 수는 있지만 Windows는 $HOME디렉토리 Program Files및 기타 장소 의 공간을 좋아하기 때문에 가장 좋은 해결책은 다음 과 같습니다.

Python을 설치 하고 그 안에 C:\Python있는 C:\Python폴더 python.exe와 그 Scripts안에 있는 디렉토리를 PATH시스템 또는 사용자 레벨 의 환경 변수에 추가하십시오.

당신이 공존에 파이썬 2.7.x 및 3.x 필요한 경우에이를 설치 C:\Python27하고 C:\Python36하고 C:\Python37하고 이름 바꾸기 python.exepython2.exe, python36.exe, python37.exe, 등 그 폴더와 각 추가 Scripts에 폴더를 PATH. "default"가 되고자하는 Python 3 버전 중 하나를 결정하고 해당 폴더에서 python3.exe를 사용하는 스크립트를 처리하기 위해 복사 할 수도 있습니다 !#/usr/bin/env python3.

사용자 홈 디렉토리에 공백이 있으면 pip install --user somepackage구문 을 사용하면 문제가 발생할 수도 있습니다 . --user홈 디렉토리에 기본값 및 공간뿐만 아니라이 경우 물건을 여행합니다. 해결 방법은 여기 에 설명되어 있지만 PYTHONUSERBASE를 환경으로 내보내는 것으로 요약됩니다.

export PYTHONUSERBASE=/myappenv
pip install --user SomePackage

또는 Windows (Powershell)에서 :

$env:PYTHONUSERBASE='C:\PythonPkgs'
pip install --user SomePackage
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.