Python을 사용하여 PYTONPATH를 확인하려면 어떻게 해야 합니까?
시스템의 디렉토리에 리스트 되어 있는 디렉토리를 특정하려면 어떻게 해야 합니다.PYTHONPATH
변수, Python 스크립트(또는 대화형 셸) 내에서?
다음과 같은 것도 필요할 수 있습니다.
import sys
print(sys.path)
또는 터미널에서 하나의 라이너로:
python -c "import sys; print('\n'.join(sys.path))"
경고: 여러 버전의 Python이 설치되어 있는 경우 해당 명령을 사용해야 합니다.python2
또는python3
.
sys.path
에 포함되지 않은 아이템이 포함될 수 있습니다.PYTHONPATH
환경 변수입니다.변수를 직접 쿼리하려면 다음을 사용합니다.
import os
try:
user_paths = os.environ['PYTHONPATH'].split(os.pathsep)
except KeyError:
user_paths = []
다른 답변을 편집할 수 없는 것 같습니다.Windows 전용이라는 점에서 약간의 오류가 있습니다.보다 일반적인 솔루션은 다음과 같이 os.pathsep를 사용하는 것입니다.
sys.path에는 PYTONPATH 환경변수에 포함되지 않은 항목이 포함될 수 있습니다.변수를 직접 쿼리하려면 다음을 사용합니다.
import os
os.environ.get('PYTHONPATH', '').split(os.pathsep)
PYTONPATH는 디렉토리 목록인 환경 변수입니다.설정한 후에는 파이썬의 "sys.path"에 나열된 다른 표준 및 서드파티 라이브러리 디렉토리와 함께 가져온 모듈을 검색하는 데 사용됩니다.
다른 환경 변수와 마찬가지로 셸 또는 ~/.bashrc로 내보낼 수 있습니다. 여기를 참조하십시오.os.environment[']를 조회할 수 있습니다.PYTONPATH']는 Python에서의 값을 다음과 같이 나타냅니다.
$ python3 -c "import os, sys; print(os.environ['PYTHONPATH']); print(sys.path) if 'PYTHONPATH' in sorted(os.environ) else print('PYTHONPATH is not defined')"
셸에서 정의된 IF:
$ export PYTHONPATH=$HOME/Documents/DjangoTutorial/mysite
그러면 결과 =>
/home/Documents/DjangoTutorial/mysite
['', '/home/Documents/DjangoTutorial/mysite', '/usr/local/lib/python37.zip', '/usr/local/lib/python3.7', '/usr/local/lib/python3.7/lib-dynload', '/usr/local/lib/python3.7/site-packages']
ELSE 결과 =>
PYTHONPATH is not defined
PYTONPATH 를 복수의 패스로 설정하려면 , 여기를 참조해 주세요.
검색 경로는 런타임에 sys.path.insert(), del 또는 remove()를 통해 추가 또는 삭제할 수 있지만 os.environment[]를 통해 추가할 수 없습니다.예:
>>> os.environ['PYTHONPATH']="$HOME/Documents/DjangoTutorial/mysite"
>>> 'PYTHONPATH' in sorted(os.environ)
True
>>> sys.path // but Not there
['', '/usr/local/lib/python37.zip', '/usr/local/lib/python3.7', '/usr/local/lib/python3.7/lib-dynload', '/usr/local/lib/python3.7/site-packages']
>>> sys.path.insert(0,os.environ['PYTHONPATH'])
>>> sys.path // It's there
['$HOME/Documents/DjangoTutorial/mysite', '', '/usr/local/lib/python37.zip', '/usr/local/lib/python3.7', '/usr/local/lib/python3.7/lib-dynload', '/usr/local/lib/python3.7/site-packages']
>>>
요약하면 PYTONPATH는 sys.path에서 Import된 모듈의 Python 검색 경로를 지정하는 한 가지 방법입니다.PYTONPATH의 도움 없이 목록 작업을 sys.path에 직접 적용할 수도 있습니다.
10번 창구에서 동작합니다.기본적으로 Vanuan의 답변과 동일하지만 깨끗합니다(어디서 찍었는지 기억나지 않습니다).):
import sys
for p in sys.path:
print(p)
import subprocess
python_path = subprocess.check_output("which python", shell=True).strip()
python_path = python_path.decode('utf-8')
Python은 오류 메시지를 표시하면 위치를 알려줍니다.
>>> import os
>>> os.environ['PYTHONPATH'].split(os.pathsep)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\martin\AppData\Local\Programs\Python\Python36-32\lib\os.py", line 669, in __getitem__
raise KeyError(key) from None
KeyError: 'PYTHONPATH'
>>>
명령어를 사용합니다.
$ which python
올바른 환경에서 이 값을 입력해야 하므로 다음을 사용하십시오.
$ conda activate <env>
또는
$ mamba activate <env>
만약 콘다 환경이 없다면$ which python
또는$ which python3
괜찮을 것 같아요
conda를 사용하는 경우 env prefix를 얻을 수 있습니다.os.environ["CONDA_PREFIX"]
.
import sys
for a in sys.path:
a.replace('\\\\','\\')
print(a)
그러면 Windows에서 사용할 수 있는 모든 경로가 제공됩니다.
언급URL : https://stackoverflow.com/questions/1489599/how-do-i-find-out-my-pythonpath-using-python
'programing' 카테고리의 다른 글
AngularJS를 사용하여 확인란 값 목록에 바인딩하려면 어떻게 해야 합니까? (0) | 2022.09.26 |
---|---|
jQuery로 scrollTop을 애니메이션 할 수 있습니까? (0) | 2022.09.26 |
MySQL 쿼리에서 DISTINT 및 COUNT 함께 사용 (0) | 2022.09.26 |
jQuery에서 어레이를 루프하는 방법 (0) | 2022.09.26 |
PHP에서 "=&" 및 "=" 연산자는 무엇을 의미합니까? (0) | 2022.09.26 |