디렉토리 site-packages
는 다양한 Python 관련 기사에서 언급됩니다. 뭔데? 사용 방법?
답변
site-packages
수동으로 빌드 된 Python 패키지 의 대상 디렉토리 입니다. 소스에서 Python 패키지를 빌드하고 설치할 때 ( distutils 사용 , 아마도를 실행하여 python setup.py install
) site-packages
기본적으로 설치된 모듈을 찾을 수 있습니다.
표준 위치가 있습니다.
- Unix (순수) 1 :
prefix/lib/pythonX.Y/site-packages
- Unix (비 순수) :
exec-prefix/lib/pythonX.Y/site-packages
- Windows :
prefix\Lib\site-packages
1 Pure 는 모듈이 Python 코드 만 사용함을 의미합니다. 순수하지 않은 것은 C / C ++ 코드도 포함 할 수 있습니다.
site-packages
기본적으로 Python 검색 경로의 일부 이므로 여기에 설치된 모듈을 나중에 쉽게 가져올 수 있습니다.
유용한 읽기
- Python 모듈 설치 (Python 2 용)
- Python 모듈 설치 (Python 3 용)
답변
--user
pip와 함께 옵션 을 사용 하면 패키지가 전역 폴더가 아닌 사용자 폴더에 설치되며 관리자 권한으로 pip 명령을 실행할 필요가 없습니다.
사용자의 패키지 폴더 위치는 다음을 사용하여 찾을 수 있습니다.
python -m site --user-site
다음과 같이 인쇄됩니다.
C:\Users\%USERNAME%\AppData\Roaming\Python\Python35\site-packages
--user
pip와 함께 옵션을 사용하지 않으면 패키지는 다음과 같은 전역 폴더에 설치됩니다.
python -c "import site; print(site.getsitepackages())"
다음과 같이 인쇄됩니다.
['C:\\Program Files\\Anaconda3', 'C:\\Program Files\\Anaconda3\\lib\\site-packages'
참고 : 위에 인쇄 된 값은 기본값으로 설치된 Anaconda 4.x가 설치된 Windows 10에 대한 것입니다.
답변
site-packages는 Python이 모듈을 설치하는 위치 일뿐입니다.
“찾을”필요가 없습니다. 파이썬은 스스로 찾을 위치를 알고 있습니다.이 위치는 항상 PYTHONPATH (sys.path)의 일부입니다.
프로그래밍 방식으로 다음과 같이 찾을 수 있습니다.
import sys
site_packages = next(p for p in sys.path if 'site-packages' in p)
print site_packages
‘/Users/foo/.envs/env1/lib/python2.7/site-packages’