개발/Python

[파이썬] site-packages 디렉토리는 무엇입니까?

MinorMan 2022. 10. 6. 23:37
반응형

<질문>

디렉토리site-packages 다양한 Python 관련 기사에 언급되어 있습니다. 그것은 무엇입니까? 사용 방법?


<답변1>

site-packages 이다대상 디렉토리 수동으로 빌드된 Python 패키지. 소스에서 Python 패키지를 빌드하고 설치할 때(사용disutils, 아마도 실행함으로써python setup.py install), 설치된 모듈을 찾을 수 있습니다site-packages 기본적으로.

다음과 같은 표준 위치가 있습니다.

  • 유닉스(순수)1:prefix/lib/pythonX.Y/site-packages
  • 유닉스(순수하지 않음):exec-prefix/lib/pythonX.Y/site-packages
  • 윈도우:prefix\Lib\site-packages

1 순수 모듈은 Python 코드만 사용함을 의미합니다.순수하지 않음 C/C++ 코드도 포함할 수 있습니다.

site-packages 기본적으로 Python의 일부입니다.검색 경로, 따라서 거기에 설치된 모듈을 나중에 쉽게 가져올 수 있습니다.


<답변2>

pip와 함께 --user 옵션을 사용하는 경우, 패키지는 전역 폴더 대신 사용자의 폴더에 설치되며 관리자 권한으로 pip 명령을 실행할 필요가 없습니다.

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

python -m site --user-site

다음과 같이 인쇄됩니다.

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

pip와 함께 --user 옵션을 사용하지 않는 경우, 패키지는 다음과 같이 제공된 전역 폴더에 설치됩니다.

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

다음과 같이 인쇄됩니다.

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

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


<답변3>

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

'/사용자/foo/.envs/env1/lib/python2.7/사이트 패키지'


<답변4>

내 CentOS7.9 Linux(RedHat 클론)에서는 다음 위치에 있습니다.~/.local/lib/python3.9/site-packages/ PYTHONPATH 변수에 포함할 필요가 없습니다.


<답변5>

에 따르면here:

Python 설치에는 모듈 내부에 site-packages 디렉토리가 있습니다. 예배 규칙서. 이 디렉토리는 사용자가 설치한 패키지가 있는 곳입니다. 떨어졌다.

설명하지 않아도사이트라는 단어가 선택된 이유, 설명한다이 디렉토리의 용도.

반응형