2013-07-03 6 views
0

pip를 사용하여 virtualenv 외부에서 특정 virtualenv에 소프트웨어를 설치하는 방법. 나는 VIRTUALENV/홈/객실/VIRTUALENV/장고-ENV이있는 경우, /home/guest/virtualenv/django-env/lib/python2.7/site-packages/에 파이썬 패키지를 설치하는 방법 예를 들어기본 pip를 사용하여 python 패키지를 특정 virtualenv에 설치하는 방법

source/home/guest/virtualenv/django-env/bin/activate을 수행하지 않고/usr/local/bin/pip에있는 기본 pip를 사용하지 않고서도 사용 가능합니다. , 그리고 내가 패브릭을 사용할 때 새로 생성 된 가상 환경을 유지할 수 없습니다. 따라서 새 virtualenv에 소프트웨어를 설치할 수 있으려면 virtualenv 외부에서 기본 pip (/ usr/local/bin/pip)를 실행해야합니다.

+0

부트 스트랩 스크립트를 사용합니까? 그렇다면 붙여 넣으십시오. – Babu

답변

2

사용하려면 virtualenv를 사용할 필요가 없습니다 그것.

pip -E /home/guest/virtualenv/django-env/ 
이 같은 /home/guest/virtualenv/django-env/bin/pip install <package>

당신은 또한보다 다른 VIRTUALENV에서 PIP의 이전 버전을 실행 핍에서이 pip -E에 설치되어 있습니다 : 그냥 VIRTUALENV에 설치되어있는 PIP를 실행하여 패키지를 설치

하지만 위의 경우에는 이점이 없으므로 오류가 발생할 수 있으므로 첫 번째 옵션이 더 좋습니다. pip 1.1에 이전

+0

기본 pip (/ usr/local/bin/pip)를 실행해야합니다. 제약 조건에 대해서는 잘 모르겠지만 – Babu

+0

@Babu : 아니요, OP는 * 그가 OP를 생각하면 * (들)은 먼저 그것을 활성화하지 않고 virtualenv에서 하나를 실행할 수 없다고 생각하므로 * 기본 핍을 실행할 필요가 있다고 생각합니다. 이것은 오해입니다. –

+0

괜찮습니다. 그/그녀가 결정하게하십시오. :) – Babu

1

은, 당신이 할 수처럼, 전환하지 않고 가상 환경 내에서 패키지를 설치하는 옵션 -E,

pip install -E /path/to/env <package> 

그러나 따라 변경 로그,

제거 -E /이 있었다 - 환경 옵션 및 PIP_RESPECT_VIRTUALENV; 모두가 깨진 재가동 중재 장치 메커니즘을 사용하며 모든 가상 장치에 이제는 핍이 있으므로 유용하지 않은 이 없습니다. replace pip - E 경로/to/venv 가상 경로/to/venv & & path/to/venv/pip install Foo를 사용하여 Foo를 설치하십시오.

만약 1.1 이전에 pip가 있다면, 글로벌 pip를 사용하는 것이 좋습니다.

+0

첫째로, 나는 그가 중요하다면 :). 내 솔루션은 Lennart Regebro가 지적한 것입니다. 하지만 솔루션에 대한 내 견해는 -E 옵션으로 시작했습니다. (필자는 이것을 사용하는 코드를 가지고 있었고, 필자의 핏 (1.3 절)과 작동하지 않았습니다. 세부 사항을 지적 해 주신 바브에게 감사드립니다. – binithb

관련 문제