2016-09-19 2 views
0

가상 환경 (virtualenv으로 생성)에서 실행되는 Python/Django 애플리케이션을 개발합니다.requirements.txt에 'pip'버전을 지정하십시오.

가상 환경을 만들 때, pip의 글로벌 버전은 (우분투 14.04에 python-pip 패키지에서, 예를 들어, 버전 1.5.4) 꽤 오래된 수 있습니다 기본적으로 새로 만든 환경에 복사됩니다. 도 허용 할 pip 버전을 지정

pip==8.1.2

: 수동 pip 업그레이드를 방지하기 위해

, 그것은 다음 줄을 추가하여 예를 들어, requirements.txt 파일에 pip 버전을 핀에 좋은 생각처럼 들린다 요구 사항 파일의 행을 변경하여 모든 관리되는 응용 프로그램 환경 (로컬, dev, 프로덕션)에서 pip을 업그레이드하십시오.

좋은 연습처럼 들리니? 이 방법으로 잘못 될 수있는 것이 있습니까?

답변

0

당신이 겪은 경험은 우분투 14.04와 함께 제공되는 python-virtualenv의 구버전으로 인해 발생합니다. Ubuntu 패키지를 제거하고 pip를 통해 설치해야합니다.

sudo pip install virtualenv 

그런 다음 최신 pip가 설치되어 있는지 확인하십시오.

sudo pip install -U pip 

그리고 새 가상 환경에 해당 버전이 설치되어 있어야합니다.

+0

'합니다. 그것은 당신에게 말할 것입니다 : 'OS에 의해 소유 된 /usr/lib/python2.7/dist-packages에서 pip를 제거하지 않았습니다. – tonyo

+0

그런 다음'apt-get'을 통해 제거하고 https : //bootstrap.pypa를 얻으십시오. io/get-pip.py와'sudo python get-pip.py' 또는'sudo python3 get-pip.py'를 사용하십시오. –

2

pip 버전이 requirements.txt에 나열되어 있으며 다른 요구 사항과 함께 설치 될 예정입니다. 따라서 모든 요구 사항은 이전 버전 pip으로 설치되고 requirements.txt에 지정된 버전은 나중에 사용할 수 있습니다.

나는 항상 : pip`가 작동하지 않습니다 -U의 pip`를 설치`파이썬 pip`,`sudo는 주사위를 통해 설치

virtualenv /path/to/my/desired/venv/ 
source /path/to/my/desired/venv/bin/activate 
pip install -U pip 
pip install -r requirements.txt 
+0

좋은 지적. 두 가지를 모두 수행 한 다음 가상 환경을 만든 직후에 최신 pip 버전을 설치하고 documentation/later-upgrades 목적을 위해 requirements.txt에 지정하십시오. – tonyo

+0

requirements.txt에 지정하지 않겠습니다. 처음에는 잘못된 요구 사항입니다. 소프트웨어가 이전 버전과 올바르게 설치되지 않는 경우가 있습니까? 나는 정말로 그렇게 생각하지 않는다. – ElmoVanKielmo

관련 문제