2012-12-21 2 views
23

그래서 내 python 프로젝트에 venv라는 virtualenv 폴더가 있습니다.virtualenv 폴더에 전역 설치 패키지를 가져 오는 방법

나는 실행할 수 있습니다 : 나는 하나, M2Crypto를 제외하고 프로젝트에 필요한 모든 요구 사항을 설치

venv/bin/pip install -r requirements.txt 

합니다.

apt-get install python-m2crypto 

어떻게 다음 폴더를 venv하는 경향을 통해 설치 패키지를 추가 할 수 있습니다 설치하는 유일한 방법은 apt-get을 통해?

답변

16

:

cp -R /usr/lib/python2.7/dist-packages/M2Crypto /home/richard/hello-project/venv/lib/python2.7/site-packages/ 
cp -R /usr/lib/python2.7/dist-packages/OpenSSL /home/richard/hello-project/venv/lib/python2.7/site-packages/ 
2
venv/bin/pip install -I M2Crypto 

-I 힘은 또한 이미 전 세계적으로 설치되어 경우에도 VIRTUALENV에 설치합니다.

+0

나는 그것을 시도 할 것이다. pip --help의 출력에 문서화되지 않은 이유는 무엇입니까? –

+0

'pip help install'에 문서화되어 있습니다. '-I' 플래그는'install' 명령에만 해당하므로 전역 플래그 목록에 표시되지 않습니다 (다른 많은 명령 특정 플래그가 있음). – Amber

+1

감사합니다. 이것은 잘 작동하지 않습니다. M2Crypto는 실제로 pip를 통해 설치할 수 있지만 라이브러리에 Ubuntu 12.04 LTS에서 설치가 실패하는 버그가 있습니다. 그들은 패치를 릴리스했지만 그것은 나를 위해 작동하지 않습니다 ... 그래서 당신의 명령을 시도하면, pip 저장소에서 라이브러리를 다운로드하고 그냥 APT 패키지를 복사하는 대신 설치하려고합니다. –

34
--system-site-packages 

은 가상 환경에 대한 전역 사이트 패키지 모듈에 대한 액세스 권한을 부여합니다.

$ sudo apt-get install python-m2crypto 
$ virtualenv env --system-site-packages 

을 ... 당신은 다음 VIRTUALENV 내부 (다른 모든 시스템 전체 설치 패키지와 함께) m2crypto에 액세스 할 수있는 것 :

당신은 할 수 있습니다. 나는 결국 무슨 짓을

+0

기본 파이썬 설치에 전역 적으로 공유하려는 패키지 만 설치하는 것이주의 깊다면, 이것이 최선의 방법입니다. –

+0

그렇다면 글로벌 사이트 패키지에 액세스 할 수있는 가상 환경 사용의 요지는 무엇입니까? –

+0

Richard Knop, 그래서 당신은 자신의 virtualenv에 루트가없는 추가 패키지를 설치할 수 있고, 시스템 파이썬을 망치지 않을 수 있습니다. –

11

toggleglobalsitepackages는 시스템 전체 site-packages에 대한 액세스를 전환됩니다.

참고 :이 명령을 실행하려면 pip install virtualenvwrapper해야합니다. 바닐라 virtualenv에는 포함되어 있지 않습니다. virtualenvwrapper을 사용하면 매우 유용한 mkvirtualenvrmvirtualenv 명령을 얻을 수 있습니다.

+0

을 입력하십시오. 그렇지 않으면 당신은'toggleglobalsitepackages : command not found'를 얻게됩니다. – szeitlin

+0

좋은 지적이 추가되었습니다. 감사!오늘은 – Will

+3

이며, 이제는 'toggleglobalsitepackages'입니다. – eduncan911

관련 문제