가상 환경없이
pip <command> --user
시스템 전체 패키지 설치 위치가 아닌 현재 사용자 계정의 로컬 파이썬 패키지 설치 위치에서 작동하도록 현재 pip 명령의 범위를 변경합니다.
이것은 실제로 다중 사용자 컴퓨터에서만 중요합니다. 시스템 위치에 설치된 모든 항목은 모든 사용자가 볼 수 있으므로 사용자 위치에 설치하면 해당 패키지 설치가 다른 사용자와 분리되어 유지됩니다 (표시되지 않으며 사용하려면 별도로 설치해야 함). 버전 충돌이있을 수 있으므로 다른 패키지에 필요한 종속성이있는 패키지를 설치하면 문제가 발생할 수 있으므로 지정된 사용자가 사용하는 모든 패키지를 시스템 설치 위치로 푸시하지 않는 것이 가장 좋습니다.
- 단일 사용자 시스템 인 경우 해당
--user
위치 에 설치하는 것과 거의 차이가 없습니다 . 패키지와 패키지 사용 방법에 따라 다른 폴더에 설치되며 경로에 추가해야 할 수도 있고 필요하지 않을 수도 있습니다 (많은 패키지는 셸에서 실행하려면 경로에 있어야하는 명령 줄 도구를 설치합니다) .
- 다중 사용자 시스템 인
--user
경우 관리자가 기본적으로 모든 사용자가 사용할 수있는 일반 패키지의 경우를 제외하고 루트 / 스도를 사용하거나 관리자 설치가 필요하고 모든 사용자의 Python 환경에 영향을주는 것이 좋습니다.
- 참고 : 대부분의 유닉스 / 리눅스 설치에서는 시스템 설치시 일반 패키지 관리자 (예 :
apt
대신)를 사용해야한다는 의견 이 pip
있습니다.
가상 환경
--user
활성 venv / virtualenv 환경 의 옵션은 로컬 사용자 파이썬 위치에 설치됩니다 (가상 환경이없는 것과 동일).
패키지는 기본적으로 가상 환경에 설치되지만 사용 --user
하면 가상 환경 외부의 사용자 python 스크립트 디렉토리 (Windows의 경우 현재 c:\users\<username>\appdata\roaming\python\python37\scripts
Python 3.7)에 설치됩니다.
그러나 가상 환경 --user
에서 사용한 경우에도 가상 환경 내에서 시스템 또는 사용자 설치에 액세스 할 수 없습니다 .
--system-site-packages
인수 를 사용하여 가상 환경을 설치하면 Python의 시스템 스크립트 폴더에 액세스 할 수 있습니다. 여기에는 사용자 파이썬 스크립트 폴더도 포함되어 있다고 생각하지만 확실하지 않습니다. 그러나 의도하지 않은 결과가 발생할 수 있으며 가상 환경을 사용하는 것은 아닙니다.
Python 시스템 및 로컬 사용자 설치 폴더의 위치
을 사용하여 python의 사용자 설치 폴더 위치를 찾을 수 있습니다 python -m site --user-base
. Q & A, 설명서 및 PC에서 기본값이 무엇인지에 대해 실제로이 명령을 사용하여 충돌하는 정보를 찾고 있지만 사용자 홈 디렉토리 ( ~
* nix의 단축 키, c:\users\<username>
일반적으로 Windows의 경우) 아래에 있습니다.
기타 세부 사항
이 --user
옵션이 모든 명령에 유효한 것은 아닙니다. 예를 들어 pip uninstall
패키지가 설치된 위치 (사용자 폴더, 가상 환경 폴더 등)를 찾아서 제거하며 --user
옵션이 유효하지 않습니다.
설치된 항목 pip install --user
은 현재 사용자 계정에서만 볼 수있는 로컬 위치에 설치되며 루트 액세스 (* nix) 또는 관리자 액세스 (Windows)는 필요하지 않습니다.
이 --user
옵션 은 사용자 설치 폴더에서 보거나 조작하기 위해이를 수락하는 모든 pip
명령을 수정 하므로, 사용 pip list --user
하는 경우로 설치된 패키지 만 표시됩니다 pip install --user
.
import site; print site.USER_SITE
설치 위치를 인쇄 할 수 있습니다. 나를 위해 나는 얻었다/${HOME}/.local/lib/python${PY_MAJOR}.${PY_MINOR}/site-packages
.