import 문 앞에 pythonpath 설정
내 코드는 다음과 같습니다.
import scriptlib.abc
import scriptlib.xyz
def foo():
... some operations
하지만 scriptlib는 다른 디렉토리에 있으므로 환경 변수 "PYTHONPATH"에 해당 디렉토리를 포함해야합니다.
어쨌든 import 문이 다음과 같이 실행되기 전에 먼저 환경 변수 "PYTHONPATH"에 scriptlib 디렉토리를 추가 할 수 있습니까?
import sys
sys.path.append('/mypath/scriptlib')
import scriptlib.abc
import scriptlib.xyz
def foo():
... some operations
그렇다면 해당 명령 프롬프트에 대한 값입니까 아니면 전역입니까?
미리 감사드립니다
그러면 Python 프로세스 / 인스턴스 (예 : 실행중인 실행 파일)에 대한 경로가 추가됩니다. 다른 Python 프로세스에 대해서는 경로가 수정되지 않습니다. 실행중인 다른 Python 프로그램에는 경로가 수정되지 않으며 프로그램을 종료하고 다시 실행하면 이전에 추가 한 내용이 경로에 포함되지 않습니다. 당신이하는 일은 일반적으로 정확합니다.
set.py :
import sys
sys.path.append("/tmp/TEST")
loop.py
import sys
import time
while True:
print sys.path
time.sleep(1)
운영: python loop.py &
그러면 STDOUT에 연결된 loop.py가 실행되고 백그라운드에서 계속 실행됩니다. 그런 다음 python set.py
. 각각에는 서로 다른 환경 변수 세트가 있습니다. 의 환경을 변경하지 않기 loop.py
때문에 의 출력 이 변경되지 않는지 관찰하십시오 .set.py
loop.py
가져 오기에 대한 참고 사항
Python 가져 오기는 나머지 언어와 마찬가지로 동적입니다. 진행중인 정적 링크가 없습니다. 가져 오기는 sys.path.append...
.
여기 에있는 문서에도 언급되어 있습니다 .
로 이동 Python X.X/Lib
하고, 이러한 줄을 추가 site.py
가,
import sys
sys.path.append("yourpathstring")
이렇게 sys.path
하면로드 할 때마다 그 값을 갖게됩니다.
언급 한 바와 같이 여기 에 대해 site.py
,
이 모듈은 초기화 중에 자동으로 가져옵니다. 이 모듈을 가져 오면 모듈 검색 경로에 사이트 별 경로가 추가되고 몇 가지 내장 기능이 추가됩니다.
이 문서 를 sys.path
볼 수 있는 경로를 추가하는 다른 가능한 방법
참조 URL : https://stackoverflow.com/questions/15109548/set-pythonpath-before-import-statements
'Program Tip' 카테고리의 다른 글
Flask-POST 오류 405 메서드가 허용되지 않음 (0) | 2021.01.08 |
---|---|
대소 문자를 구분하지 않고 JavaScript 속성에 액세스 하시겠습니까? (0) | 2021.01.08 |
H2가 H1보다 큰 이유는 무엇입니까? (0) | 2021.01.08 |
Alpine Linux에 Pandas를 설치하는 데 시간이 걸리는 이유 (0) | 2021.01.08 |
Symfony 2.0 단계별 자습서 필요 (0) | 2021.01.08 |