반응형
질문
내 site-packages
디렉토리의 위치를 어떻게 찾을 수 있나요?
답변
사이트 패키지 디렉토리에는 전역과 사용자별 두 가지 유형이 있습니다.
전역 사이트 패키지("dist-packages") 디렉토리는 다음을 실행할 때
sys.path
에 나열됩니다:python -m site
더 간결한 목록을 원하면 Python 코드에서 site 모듈에서
getsitepackages
를 실행합니다:python -c 'import site; print(site.getsitepackages())'
경고: 가상 환경에서는
virtualenv
의 이전 버전에서는getsitepackages
를 사용할 수 없으며, 위의sys.path
는 가상 환경의 사이트 패키지 디렉토리를 올바르게 나열합니다. Python 3에서는 대신 sysconfig 모듈을 사용할 수 있습니다:python3 -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])'
사용자별 사이트 패키지 디렉토리(PEP 370)는 Python이 로컬 패키지를 설치하는 위치입니다:
python -m site --user-site
이것이 존재하지 않는 디렉토리를 가리키면 Python의 종료 상태를 확인하고
python -m site --help
를 참조하여 설명을 확인하십시오.힌트:
pip list --user
또는pip freeze --user
를 실행하면 모든 설치된 사용자별 사이트 패키지의 목록을 얻을 수 있습니다.
실용적인 팁
<패키지>.__path__
를 사용하면 특정 패키지의 위치를 식별할 수 있습니다: (자세한 내용)$ python -c "import setuptools as _; print(_.__path__)" ['/usr/lib/python2.7/dist-packages/setuptools']
<모듈>.__file__
을 사용하면 특정 모듈의 위치를 식별할 수 있습니다: (차이점)$ python3 -c "import os as _; print(_.__file__)" /usr/lib/python3.6/os.py
pip show <패키지>
를 실행하여 Debian-style 패키지 정보를 표시합니다:$ pip show pytest Name: pytest Version: 3.8.2 Summary: pytest: simple powerful testing with Python Home-page: https://docs.pytest.org/en/latest/ Author: Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher, Florian Bruhin and others Author-email: None License: MIT license Location: /home/peter/.local/lib/python3.4/site-packages Requires: more-itertools, atomicwrites, setuptools, attrs, pathlib2, six, py, pluggy
반응형
댓글