pip3
시스템 사이트 패키지에 설치 하지 않는 것이 좋습니다 . 나는했습니다 전에 이러한 주장을 하지만 난 당신에게 메모를 줄 것이다 :
- 시스템 업데이트로 모든 것이 깨짐
- apt 패키지를 설치하면 핍 설치 항목을 덮어 쓸 수 있습니다
- 버전 충돌
- 배포판 업그레이드는 예측할 수없는 혼란 입니다. 진심으로. 나는 이것에 머리를 잃었다.
나는을 사용하여 강력하게 주장 virtualenv
합니다. 어디를 가든 어디에서나 큰 고통이지만 일단 설정하면 완전한 제어하에 완전한 Python 환경이 생깁니다. 이것은 더 많은 작업을 의미하지만 (업데이트를 확인해야하며 pip
아직 도움이되지 않습니다) 우분투의 작업에 대해 걱정할 필요가 없습니다.
각 사이트에 대한 환경이 있습니다 (라는 하위 디렉토리에 앉아 있음 venv
). 옛날 옛적에 나를 포함한 일부 사람들은 여러 사이트간에 환경을 공유하는 것을 선호합니다. 업데이트 발행 측면에서 유지 관리가 더 쉬웠지만 일부 사이트는 취약하거나 이전 버전이 필요할 수 있으며 전체 환경을 다시 유지합니다. YMMV.
이것을 설치하고 얼굴을 때리기 virtualenv
위해 아직 Python 3 용으로 패키지되어 있지 않으므로 다음을 사용해야합니다 pip3
.
$ sudo pip3 install virtualenv
...
$ virtualenv-3.3 myenv
Using base prefix '/usr'
New python executable in myenv/bin/python3
Also creating executable in myenv/bin/python
Installing setuptools, pip...done.
$ source myenv/bin/activate # This is important!
bash PS1 (myenv)
에는 다른 환경에 있음을 알리기 위해 미리 준비되어 있어야 합니다. 우리는 환경을 테스트하여 올바른 버전의 버전인지 확인합니다 (스타터 용 시스템 버전을 사용하지 않음).
$ python --version
Python 3.3.2+
$ which python pip
/home/oli/Desktop/myenv/bin/python
/home/oli/Desktop/myenv/bin/pip
그리고 마치 우주의 주인 인 것처럼 계속 진행할 수 있습니다. pip
더 이상 루트를 사용할 필요가 없으며을 지정할 필요가 없습니다 pip3
. 훨씬 더 친절합니다.
$ pip install django umemcache
...
uwsgi
이것을 호스팅하기 위해 무언가를 사용한다면 -H 플래그 (또는 홈 구성 인수)를 사용하여 파이썬 환경이 어디에 있는지 알려주십시오.
개발을 쉽게하기 위해 virtualenv
환경을 자동으로 "마운트"할 수 있습니다. 거기에는 많은 스크립트가 있지만 이것은 내 것입니다 (이것은 내 바닥에 있습니다 ~/.bashrc
:
export VENVDIR="/web"
export VENVDIR_VENV="$VENVDIR/venv"
venvcd() {
wd=$(pwd)
[[ $wd == $VENVDIR/* || $wd == $VENVDIR ]] && wasin=true || unset wasin
builtin cd "$@"
wd=$(pwd)
if [[ $wd == $VENVDIR/* || $wd == $VENVDIR ]]; then
source $VENVDIR_VENV/bin/activate
else
[ $wasin ] && deactivate
fi
}
alias cd="venvcd"
cd .
나는 때마다 cd
로 /web
(내 모든 개발 웹 사이트가 저장되는 곳), 그것은 나를 위해 VIRTUALENV를 탑재합니다. 모든 사이트에 대해 하나의 환경 만 있으므로 비슷한 작업을 수행하는 경우에만 적합합니다. 비슷한 일을하는 다른 많은 방법들이 있습니다 .