Nice programing

Shebang 표기 : Windows 및 Linux의 Python 스크립트?

nicepro 2020. 12. 25. 22:58
반응형

Shebang 표기 : Windows 및 Linux의 Python 스크립트?


Windows와 Linux에서 모두 사용할 수 있도록 Python으로 작성된 작은 유틸리티 스크립트가 있습니다. Python 인터프리터를 명시 적으로 호출하지 않아도됩니다. Windows와 Linux 모두에서 shebang 표기법을 올바른 위치로 가리키는 쉬운 방법이 있습니까? 그렇지 않은 경우 운영 체제간에 전송할 때 스크립트를 수정할 필요없이 Windows와 Linux 모두에서 Python 인터프리터의 암시 적 호출을 허용하는 다른 방법이 있습니까?

편집 : Windows에서 shebang 지원은 Cygwin이 제공되지만 Cygwin이 아닌 Windows에서 기본 Windows Python 인터프리터를 사용하고 싶습니다.

편집 # 2 : Shebang 표기법이 Cygwin 터미널의 파일 연결을 재정의하는 것으로 보입니다. Cygwin Python을 제거하고 / usr / bin / python을 Windows 네이티브 Python으로 심볼릭 링크 할 수 있다고 생각합니다.


cygwin을 사용하지 않는 한 windows는 shebang을 지원하지 않습니다. 그러나 python을 설치하면 .py 파일에 대한 파일 연결로 추가됩니다. 명령 줄에 스크립트 이름 만 입력하거나 Windows 탐색기에서 두 번 클릭하면 Python을 통해 실행됩니다.

내가하는 일은 #!/usr/bin/env python대본에 shebang을 포함하는 것입니다. 이것은 리눅스에서 shebang 지원을 허용합니다. Python이 설치된 Windows 시스템에서 실행하면 파일 연결이 있어야하며 실행됩니다.


문서에서 Windows 용 Python Launcher에 대해 읽어보십시오 . 문서는 처음에 PEP 397에 설명되어 있습니다. ini에서 사용자 정의 shebang 구성을 정의 할 수 있지만 (예 : pypy 사용), 상자 밖에서와 같은 가상 shebangs #!/usr/bin/env python3또는 #!"C:\Python33\python.exe"(공백이 포함 된 경로에는 인용이 필요함) 와 같은 실제 경로가있는 shebangs를 사용할 수 있습니다 . shebang에 명령 줄 옵션을 추가 할 수도 있습니다. 예를 들어, 다음 shebang은 스크립트가 종료 된 후 대화 형 모드로 들어가는 옵션을 추가합니다 #!/usr/bin/python3 -i..

Python 3.3은 .py (콘솔) 및 .pyw (GUI) 스크립트 파일 유형을 각각 명명 된 실행 프로그램 인 py.exe 및 pyw.exe와 연결하여 Windows에서 스크립트에 대한 shebang 지원을 활성화합니다. 새 시작 관리자는 %SystemRoot%모든 사용자를 위해 설치할 때 루트 Windows 폴더 (예 :)에 설치됩니다 . 그렇지 않으면 PATH셸에서 py.exe를 사용하기 위해 설치 디렉터리를 추가 할 수 있습니다 . 그런 다음 명령 줄에서 당신은 실행할 수 있습니다 py -2, py -3, py -2.6, py -3.3-32(32 비트), 등등. 런처는 -m스크립트로 모듈을 실행하기 위해 결합 할 때 편리합니다 py -3 -m pip install.

Python 2 만 사용하는 경우 별도로 설치할 수있는 pylauncher 버전도 있습니다.


pywin32를 설치하십시오. 좋은 점 중 하나는 * .py와 파이썬 인터프리터의 파일 연결을 설정한다는 것입니다.


shebang이 아닙니다 ...하지만 파일 연결을 설정할 수 있습니다 .Perl 을 다루는 이 SO 질문 과 Windows 및 stdin / out 리디렉션에 알려진 문제가 있으므로 관련 답변도 참조하십시오 .


오래된 주제를 열어서 죄송합니다.

하나의 파일을 만들어 폴더에 py.cmd넣습니다.C:\Windows\System32

py.bat :

@(
@set /p shebang=
)<%1
@set shebang=%shebang:#! =%
@%shebang% %1 %2 %3 %4 %5 %6 %7 %8 %9

py.bat 파일 설명 :

  1. *.py파일 에서 첫 번째 줄 가져 오기
  2. shebang 문자 제거 "#! "
  3. Shebang Python 경로를 사용하여 Python 파일 실행

모든 Windows Python 스크립트는 코드의 첫 번째 줄로 shebang 줄로 시작해야합니다.

#! c:\Python27\python.exe

또는

#! c:\Python37\python.exe

그런 다음 실행하십시오. cmd> py SomePyFile.py param1 param1 paramX

참조 URL : https://stackoverflow.com/questions/7574453/shebang-notation-python-scripts-on-windows-and-linux

반응형