Python-명령 줄 모듈 실행 중에 PYTHONPATH 추가
나는 실행하고 싶다 :
python somescript.py somecommand
그러나 이것을 실행할 때 PYTHONPATH
특정 디렉토리를 포함 해야 합니다. 내가 실행중인 프로젝트에 따라 추가하려는 디렉토리가 변경되기 때문에 내 환경 변수에 추가 할 수 없습니다. PYTHONPATH
스크립트를 실행하는 동안 변경하는 방법이 있습니까? 참고 : PYTHONPATH
변수도 없기 때문에이 스크립트를 실행하는 동안 변수를 추가하는 것과 재정의하는 것에 대해 걱정할 필요가 없습니다.
Mac / Linux의 경우;
PYTHONPATH=/foo/bar/baz python somescript.py somecommand
Windows의 경우 래퍼를 설정하십시오 pythonpath.bat
.
@ECHO OFF
setlocal
set PYTHONPATH=%1
python %2 %3
endlocal
다음과 pythonpath.bat
같은 스크립트 파일을 호출 합니다.
pythonpath.bat /foo/bar/baz somescript.py somecommand
import sys
sys.path.append('your certain directory')
기본적으로 sys.path는 파이썬 모듈에 대한 모든 검색 경로가있는 목록입니다. 인터프리터에 의해 초기화됩니다. PYTHONPATH의 내용은 해당 목록의 끝에 자동으로 추가됩니다.
와 같은 POSIX 호환 셸에서 명령을 실행하는 경우 다음과 같이 bash
환경 변수를 설정할 수 있습니다.
PYTHONPATH="/path/to" python somescript.py somecommand
모두 한 줄에있는 경우 PYTHONPATH 환경 값은 해당 명령 하나에 만 적용됩니다.
$ echo $PYTHONPATH
$ python -c 'import sys;print("/tmp/pydir" in sys.path)'
False
$ PYTHONPATH=/tmp/pydir python -c 'import sys;print("/tmp/pydir" in sys.path)'
True
$ echo $PYTHONPATH
스크립트 내에서 함수를 실행하기 위해 이것을 시도 할 수 있습니다
python -c "import sys; sys.path.append('/your/script/path'); import yourscript; yourscript.yourfunction()"
이것은 Windows 용입니다.
예를 들어, 데스크탑에 "mygrapher"라는 폴더가 있습니다. 내부에는 "grapherMain.py"주 파일에 필요한 Python 파일이 포함 된 "calculation"및 "graphing"폴더가 있습니다. 또한 "grapherMain.py"는 "graphing"에 저장됩니다. 파일을 이동하지 않고 모든 것을 실행하려면 배치 스크립트를 만들 수 있습니다. 이 배치 파일을 "rungraph.bat"라고합시다.
@ECHO OFF
setlocal
set PYTHONPATH=%cd%\grapher;%cd%\calculation
python %cd%\grapher\grapherMain.py
endlocal
이 스크립트는 "mygrapher"에 있습니다. 작업을 실행하려면 명령 프롬프트에 들어가서 다음을 수행합니다.
>cd Desktop\mygrapher (this navigates into the "mygrapher" folder)
>rungraph.bat (this executes the batch file)
참고 URL : https://stackoverflow.com/questions/4580101/python-add-pythonpath-during-command-line-module-run
'programing tip' 카테고리의 다른 글
C ++ volatile 키워드가 메모리 울타리를 도입합니까? (0) | 2020.10.08 |
---|---|
Java에서 "표준 형식"또는 "표준 표현"이라는 용어는 무엇을 의미합니까? (0) | 2020.10.07 |
Capybara에서 부모 노드를 얻는 방법은 무엇입니까? (0) | 2020.10.07 |
jQuery로 기본 링크 클릭 동작을 중지하는 방법 (0) | 2020.10.07 |
Java 프로그램 실행 속도를 측정하는 방법 (0) | 2020.10.07 |