2009-05-09 8 views
3

저는 우분투에서 virtualenv를 사용하고 있습니다. 그래서 그것은 Mac에서 사용하려고하는데 문제가 있습니다.Mac OS X에서 virtualenv 사용

virtualenv 명령을 사용하면 디렉토리가 성공적으로 만들어지고 easy_install은 패키지를 기꺼이 설치하지만 설치 한 것은 가져올 수 없습니다. sys.path이 올바르게 설정되지 않은 것 같습니다 : --no-site-packages 옵션을 사용하는 경우에도 가상 site-packages을 포함하지 않습니다. 내가 뭔가 잘못하고 있는거야?

내가 맥 OS에 파이썬 2.5.1 VIRTUALENV 1.3.3을 사용하고 있습니다 10.5.6

편집 :

$ virtualenv test 
New python executable in test/bin/python 
Installing setuptools............done. 
$ source test/bin/activate 
(test)$ which python 
/Users/Justin/test/bin/python 
(test)$ which easy_install 
/Users/Justin/test/bin/easy_install 
(test)$ easy_install webcolors 
[...] 
Installed /Users/Justin/test/lib/python2.5/site-packages/webcolors-1.3-py2.5.egg 
Processing dependencies for webcolors 
Finished processing dependencies for webcolors 
(test)$ python 
[...] 
>>> import webcolors 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named webcolors 
>>> import sys 
>>> print sys.path 
['', 
'/Library/Python/2.5/site-packages/SQLObject-0.10.2-py2.5.egg', 
'/Library/Python/2.5/site-packages/FormEncode-1.0.1-py2.5.egg', 
..., 
'/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5', 
'/Users/Justin/test/lib/python25.zip', 
'/Users/Justin/test/lib/python2.5', 
'/Users/Justin/test/lib/python2.5/plat-darwin', 
'/Users/Justin/test/lib/python2.5/plat-mac', 
'/Users/Justin/test/lib/python2.5/plat-mac/lib-scriptpackages', 
'/Users/Justin/test/Extras/lib/python', 
'/Users/Justin/test/lib/python2.5/lib-tk', 
'/Users/Justin/test/lib/python2.5/lib-dynload', 
'/Library/Python/2.5/site-packages', 
'/Library/Python/2.5/site-packages/PIL'] 

편집 : 여기 VIRTUALENV 사용하려고 할 때 발생하는 상황 2 : activate_this.py 스크립트를 사용하지만 source bin/activate을 실행하면 작동하지 않습니다. 문제가 좁혀지면 좋겠습니까?

+1

해당 해석기에서 얻는 Python 경로는 무엇입니까 (예 : sys.path 값)? 그것 없이는 디버깅을 시작할 위치를 알기가 어렵습니다. –

+1

네가 맞아, 나는 그것을 포함해야만했다. 내가 잘라낸 경로 부분은 더 많은 계란 파일입니다. –

답변

1

virtualenv의 문제점은 내 자신의 잘못이었습니다. PYTHONPATH 환경 변수로 내 .bash_profile을 구성하여 가져 오기 문제가 발생했습니다.

답변 해 주신 모든 분들께 감사드립니다. 혼자서 문제를 조사하지 않아서 미안해.

6

나는 같은 OS X/파이썬/VIRTUALENV 버전 (OS X 10.5.6, 파이썬 2.5.1, VIRTUALENV 1.3.1) 확인

$ virtualenv test 
New python executable in test/bin/python 
Installing setuptools............done. 
$ source test/bin/activate 
(test)$ which python 
/Users/dbr/test/bin/python 
$ echo $PATH 
/Users/dbr/test/bin:/usr/bin:[...] 
$ python 
[...] 
>>> import sys 
>>> print sys.path 
['', '/Users/dbr/test/lib/python2.5/site-packages/setuptools-0.6c9-py2.5.egg', 

한 가지에 문제가 없었습니다 -

$ virtualenv test 
$ python 
[...] 
>>> import sys 
>>> sys.path 
['', '/Library/Python/2.5/site-packages/elementtree-1.2.7_20070827_preview-py2.5.egg'[...] 
>>> sys.path.append("test/bin/") 
>>> import activate_this 
>>> sys.path 
['/Users/dbr/test/lib/python2.5/site-packages/setuptools-0.6c9-py2.5.egg' 

또는 VIRTUALENV의 문서에서 : 깨끗한 쉘에서 다음을 실행

activate_this = '/path/to/env/bin/activate_this.py' 
execfile(activate_this, dict(__file__=activate_this)) 

전류를 강제적으로 그 파이썬 셸을 virtualenv에 넣으십시오

source test/bin/activate-v 플래그 (자세한 정보 표시)를 사용하여 python을 실행 해 본 후 유용하게 사용할 수 있습니다.

+0

'import activate_this' 기술은 완벽하게 작동했습니다; 나는 그것이'activate' 스크립트와는 다른 방식으로 sys.path를 조작한다고 생각하십니까? –