2012-06-21 6 views
4

저는 파이썬 놈입니다. virtualenv와 pip를 설치하면 모든 것이 정상적으로 보이지만 pip를 통해 설치된 패키지를 가져 오려고하면 python이 해당 패키지를 찾지 못합니다. 나는 OS X에 있고 /usr/bin에 시스템 파이썬 2.6을 가지고있다. 그래서 패키지 인스톨러를 통해 /usr/local/bin에 2.7을 설치했다. pip와 virtualenv를 설치할 때 PATH가 /usr/local/bin이되도록 설정하여 2.7 python이 사용되고 있는지 확인했습니다. virtualenv의 새 버전 (1.7+를) 요청 디자인에 의해 기본적으로 시스템에서 site-packages을 포함하지 않는 것이pip가 sys.path에없는 패키지를 설치했습니다.

(pysite)[email protected] ~/Sites]$ pip freeze 
Django==1.4 
Markdown==2.1.1 
psycopg2==2.4.5 
wsgiref==0.1.2 

(pysite)[email protected] ~/Sites]$ echo $PYTHONPATH 

(pysite)[email protected] ~/Sites]$ which python 
/Users/sbeam/.virtualenvs/pysite/bin/python 

(pysite)[email protected] ~/Sites]$ env | grep VIRTUAL 
VIRTUALENVWRAPPER_PROJECT_FILENAME=.project 
VIRTUAL_ENV=/Users/sbeam/.virtualenvs/pysite 
VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python 
VIRTUALENVWRAPPER_HOOK_DIR=/Users/sbeam/.virtualenvs 
VIRTUALENVWRAPPER_LOG_DIR=/Users/sbeam/.virtualenvs 

(pysite)[email protected] ~/Sites]$ python 
Python 2.7.3 (v2.7.3:70274d53c1dd, Apr 9 2012, 20:52:43) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import sys 
>>> from pprint import pprint as pp 
>>> pp(sys.path) 
['', 
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.27-py2.7.egg', 
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-0.7.2-py2.7.egg', 
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', 
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7', 
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', 
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', 
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', 
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', 
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', 
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', 
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages'] 
>>> import markdown 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named markdown 
+0

pip install -r requirements.txt을 수행

http://www.virtualenv.org/en/latest/news.html

명시 적으로 참조 VIRTUALENV 생성에 --system-site-packages을 사용할 수 있습니다 내 virtualenv에서 파이썬 버전을 사용해야한다. 대신'PATH'를 부지런히 사용하는 대신'--python' 플래그를 통해 파이썬 실행 파일에 경로를 전달하는 것이 더 유용하다는 것을 알게 될 것이다 :'vi rtualenv --python =/usr/local^Cin/python2.7 myenv' 해봤습니까? 필자는 Mac OS에서 Python을 사용하여 PITA를 많이 사용했으며 이것이 유일한 신뢰할만한 해결책이라는 것을 기억합니다. – brandizzi

+0

새로운 virtualenv를 만들 때 그 플래그를 시도했지만 아무런 차이가 없었습니다. – sbeam

+0

멍청한 질문이지만 Python 2.7과 함께 pip를 설치 했습니까? – Tom

답변

0

참고. 내가 원하는 때

http://www.virtualenv.org/en/latest/index.html#the-system-site-packages-option

을 또는 당신은 단지 동결의 출력을 취할 수 있고, VIRTUALENV에

+1

괜찮지 만 문제는 pip 설치 패키지 (예 : markdown)가'sys.path'에 있지 않고 시스템 패키지를 찾을 수 없다는 것입니다. 나는'--system-site-packages' 플래그로 새로운 virtualenv를 만들려고했지만, 패키지를 전 세계적으로 설치하지 않았기 때문에 아무런 차이가 없었다. – sbeam

+0

'/ Users/sbeam/.virtualenvs/pysite/bin/python'을 실행하고 sys.path를 검사 할 경우 동일한 쉘 세션 (따라서 virutal env에서 출력)이 출력됩니까? –

관련 문제