파이썬의 사이트 패키지 디렉토리는 무엇입니까?


119

디렉토리 site-packages는 다양한 Python 관련 기사에서 언급됩니다. 뭔데? 사용 방법?

답변:


72

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 검색 경로의 일부 이므로 여기에 설치된 모듈을 나중에 쉽게 가져올 수 있습니다.


유용한 읽기


10
위치 /usr/local/lib/python3.6/site-packages가 우분투에 있었습니다
mehmet

저는 젠투 시스템을 본 적이 있습니다 lib64!
MultipleMonomials

2
conda 또는 pip가 사이트 패키지에 설치됩니까, 아니면 수동으로 빌드 된 패키지입니까?
Monica Heddneck

2
정말 흥미로운 질문은 : 왜이 ​​디렉토리인가? 왜 그냥 설치하지 /usr/lib/python3.6않습니까?
Torsten Bronger

40

--userpip와 함께 옵션 을 사용 하면 패키지가 전역 폴더가 아닌 사용자 폴더에 설치되며 관리자 권한으로 pip 명령을 실행할 필요가 없습니다.

사용자의 패키지 폴더 위치는 다음을 사용하여 찾을 수 있습니다.

python -m site --user-site

다음과 같이 인쇄됩니다.

C:\Users\%USERNAME%\AppData\Roaming\Python\Python35\site-packages

--userpip와 함께 옵션을 사용하지 않으면 패키지는 다음과 같은 전역 폴더에 설치됩니다.

python -c "import site; print(site.getsitepackages())"

다음과 같이 인쇄됩니다.

['C:\\Program Files\\Anaconda3', 'C:\\Program Files\\Anaconda3\\lib\\site-packages'

참고 : 위에 인쇄 된 값은 기본값으로 설치된 Anaconda 4.x가 설치된 Windows 10에 대한 것입니다.


24

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'


3
수입 사이트에 아마 쉽게 다음 site.getsitepackages ()
JSharm

1
모든 파이썬 배포판이 site-packages, 이것은 올릴 것이다 StopIteration. 예를 들어, Debian (및 Ubuntu)은 dist-packages분산 모듈을 설치해야합니다.
Mike T

virtualenv를 사용하고 전역 패키지를 상속하지 않으면 항상 작동합니다. VIRTUALENV없이 나는 결코 코드
앤소니 페로에게
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.