동일한 문제가 발생했지만 Windows 사용자 (Linux에서 제공)를 위해 코드를 패키징해야한다는 맥락에서 발생했습니다. 내 패키지에는 명령 줄 옵션이있는 여러 스크립트가 포함되어 있습니다.
명령 줄에서 호출 할 수 있도록 Windows 사용자 컴퓨터의 적절한 위치에 설치하려면 이러한 스크립트가 필요합니다. 패키지가 사용자 친화적이기 때문에 사용자에게 이러한 스크립트를 실행하기 위해 레지스트리를 변경하도록 요청하는 것은 불가능합니다.
Continuum의 사람들이 Anaconda 패키지와 함께 제공되는 Python 스크립트에 사용하는 솔루션을 발견했습니다. 예제는 Anaconda / Scripts 디렉토리를 확인하십시오.
Python 스크립트의 test
경우 a test.bat
및 a test-script.py
.
test.bat
다음과 같이 보입니다 ( 내 목적에 맞게 조정 한 상대 경로를 가진 호출 .bat
파일 ).Anaconda\Scripts
python.exe
@echo off
set PYFILE=%~f0
set PYFILE=%PYFILE:~0,-4%-script.py
"python.exe" "%PYFILE%" %*
test-script.py
실제 Python 스크립트입니다.
import sys
print sys.argv
이 두 파일을 로컬 디렉토리에 남겨두면 다음 .bat
을 수행 하여 파일을 통해 Python 스크립트를 호출 할 수 있습니다.
test.bat hello world
['C:\\...\\test-scripy.py', 'hello', 'world']
두 파일을 사용자의 위치 PATH
(예 :)에 복사 Anaconda\Scripts
하면 .bat
접미사 를 생략하여 스크립트를 호출 할 수도 있습니다.
test hello world
['C:\\...Anaconda\\Scripts\\test-scripy.py', 'hello', 'world']
면책 조항 : 나는 무슨 일이 일어나고 있는지, 이것이 어떻게 작동하는지 전혀 모릅니다. 그래서 어떤 설명을 주시면 감사하겠습니다.