2012-08-05 2 views
5

우분투 12.04에 python-gconf 패키지를 설치하고 함께 사용했습니다 : python이 gnome 구성 도구에 바인딩되어 있고, 이에 대한 pypi 패키지가 없습니다.virtualenv가이 컴파일 된 모듈을 시스템 수준에서 설치되도록하려면 어떻게합니까?

는 최대한 빨리 (--no-site-packages없이 )를 VIRTUALENV을 만들어으로, gconf를 가져 오는 시도는 ImportError으로 이어질 것입니다.

gconf 모듈은 시스템 수준에서 정상적으로 작동하지만 가상 환경에서는 정상적으로 작동하지 않습니다. 조사한 결과, python-gconf.deb은 gconf.so 바이너리임을 가르쳐주었습니다.

: 그것은을 검색

내가 파이썬 손을 억지로 않았다가 /home/lib/python2.7/dist-packages/gtk-2.0/gconf.so

에 설치되어있어 나에게 말한다

sudo ln -s /usr/lib/python2.7/dist-packages/gtk-2.0/gconf.so ~/.virtualenvs/appetizer/lib/python2.7/site-packages/ 

그러나 그것은 단지 결과 : 그래서는 GTK에 매우 의존적이다 같은데요

>>> import gconf 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: could not import gobject (error was: 'No module named gobject') 

.

+0

귀하의 virtualenv 버전에'--system-site-packages'가 있습니다. '--no-site-packages'는 더 이상 사용되지 않습니다. – jfs

+0

고맙습니다 J.F. 그게 문제였습니다. 너를 상향화할 수 있도록 대답으로 써야 해. –

답변

4

모든 시스템 패키지를 표시하려면 --system-site-packages 옵션을 사용하여 virtualenv를 만들어야합니다. 외부 패키지를 virtualenv의 구조로 symlinking하는 것은 하나의 외부 패키지 만 필요할 때 대부분의 경우에도 작동합니다.

+0

쉬운 담당자, 친구 :-) –

0

가상 환경을 이미 만들었 으면 no-global-site-packages.txt 파일을 제거하여 시스템 패키지를 확인하십시오.