답변:
모든 사용자에게 파이썬 패키지가 필요하지 않은 경우 다음과 같이 가정에 설치할 수 있습니다.
pip install --user packagename
가정에 설치해도 패키지 관리자와 충돌하지 않습니다.
기본적으로 pip install --user
"사용자 사이트"디렉토리에 설치됩니다. 일반적으로 다음과 같습니다./home/lesmana/.local/lib/python3.6/site-packages
..
다음 명령은 무엇보다도 "사용자 사이트"위치를 인쇄합니다.
python -m site
설치 위치를 사용자 정의하려면 다음을 수행하십시오.
PYTHONUSERBASE=$HOME/some/dir pip install --user packagename
이것은 아래에 모든 것을 설치합니다 $HOME/some/dir
실행하려면 :
PYTHONUSERBASE=$HOME/some/dir $HOME/some/dir/bin/progname
자세한 내용 은 pip 설명서 를 참조하십시오.
모든 사용자에게 파이썬 패키지를 원한다면 설치하기 가장 좋은 곳은 /opt
입니다. 예를 들면 다음과 같습니다.
PYTHONUSERBASE=/opt/packagedir pip install packagename
(누락에 주목 --user
)
위와 같이 실행하십시오.
PYTHONUSERBASE=/opt/packagedir /opt/packagedir/bin/progname
배경 설명 : /opt
gnu / linux 배포판에서 로컬 사용자 나 시스템 관리자가 자신의 것을 설치할 수있는 디렉토리로 일반적으로 인정됩니다. 다시 말해, 배포판의 패키지 관리자는 일반적으로 만지지 않습니다 /opt
. 이것은 파일 시스템 계층 표준에서 다소 표준화되었습니다.
사용자에게 편의를 위해 래퍼 스크립트를 작성하여 /bin
또는에 배치하려고합니다 /usr/bin
. 여전히 배포 패키지 관리자와 충돌 할 위험이 있지만 적어도 하나의 래퍼 스크립트 파일 일뿐입니다. 따라서 수행 할 수있는 피해는 최소화됩니다. 랩퍼 스크립트의 이름을 분배 패키지 관리자와 충돌 local-foo
하거나 custom-foo
충돌 위험을 최소화하기 위해 지정할 수 있습니다 .
또는 랩퍼 스크립트 PATH
를 포함 /opt/bin
하고 배치 하도록 수정할 수 있습니다 . 그러나 다시 PATH
배포 패키지 관리자가 덮어 쓸 수있는 시스템 파일 (또는 일부)을 수정해야합니다 .
한마디로 : 모든 사용자를 위해 설치하려면에서 설치하십시오 /opt
. 편안한 래퍼 스크립트를 배치 할 위치는 판단 요청입니다.
/opt
파일 시스템 계층 표준 에 대한 추가 정보 :
python
전에 이것을 알고 싶습니다 sudio
. 고마워
일반적으로 배포판에서는 배포판의 패키지 관리자를 사용하는 것이 좋습니다. 물론 pip (또는 펄 세계에서는 cpan)를 사용하여 설치하거나 직접 컴파일하여 설치할 수 있습니다. 그러나이 작업을 수행 할 때 배포판의 패키지 관리자는 해당 패키지 관리자에 대해 알지 못하며 의존성 또는 업데이트를 관리 할 수 없습니다.
pip를 사용하는 것은 자신의 패키지를 컴파일하고 설치하는 것과 거의 같습니다. 필요하다면 배포판의 패키지 관리자를 선호하십시오.
pip
(적어도 전역 적으로 sudo
또는 루트로)- 일부 종속성을 설치하려고 할 site-package/...
때 이미 일부 오류가 발생 pacman
했습니다.
ArchLinux에 PYTHON 패키지를 설치하는 올바른 방법은 PACMAN을 사용하는 것입니다! Python3에 패키지를 설치하려면 사용해야합니다
sudo pacman -S python-'package'
Python2에서 패키지를 설치하려면 사용해야합니다
sudo pacman -S python2-'package'
대부분의 파이썬 패키지는 ArchLinux 저장소에 있으며 AUR에없는 패키지 (ArchLinux 사용자 저장소)-이 패키지의 경우 PKGBUILD 파일을 다운로드하고 컴파일해야합니다. 그런 다음 PACMAN을 사용하여 설치를 완료해야합니다.
makepkg -s
sudo pacman -U 'compiled-package'
패키지가 AUR에 없거나 PKGBUILD가 작동하지 않으면 PIP를 사용하여 Python3에 설치할 수 있습니다
sudo pip install 'python-package'
또는 Python2
sudo pip2 install 'python-package'
virtualenv
주거나conda
Arch에서는 VirtualEnvironments를 사용할 수도 있습니다. 이를 통해 코드에 이식성을 제공하고 이전 패키지도 유지할 수 있습니다. 함께 설치
sudo pacman -S python-virtualenv
그리고 이것을 시도하십시오
virtualenv -p /usr/bin/python3 yourenv
source yourenv/bin/activate
pip install package-name
이 환경을 만들면 yourenv
설정됩니다pip
전체 시스템이 아닌이 환경에만 패키지를 설치하도록 됩니다.
conda
또는virtualenv
:이 규칙을 따르면 ArchLinux는 중단되지 않으며 PACMAN과 PIP간에 종속성 문제가 없습니다.
도움이 되길 바랍니다.
특정 패키지 (내가 해킹하고 싶지 않은 패키지)의 경우 다음을 사용하여 자체 패키지를 만듭니다.
https://github.com/bluepeppers/pip2arch
그런 다음 생성 된 PKGBUILD를 빌드하고 설치하십시오.
수정하거나 해킹하려는 패키지에 대해 virtualenvs를 남겨 둡니다.
여기에 다른 답변 외에도 python-virtualenv
패키지를 확인하십시오 . 버전 번호가 일치하지 않는 종속성이 다른 여러 프로젝트에서 개발하는 경우 매우 유용 할 수 있습니다.
https://wiki.archlinux.org/index.php/Python_VirtualEnv
또한 pip와 virtualenv의 두 가지 변형이 있습니다. 하나는 Python 2와 하나는 Python 3입니다. 구문 오류로 설치에 실패하면 잘못된 버전으로 시도한 것일 수 있습니다.