2012-10-18 2 views
1

최근 Python.org에서 Python 3.3 DMG를 설치했습니다.Python 3.3은 OSX에서 pip 설치된 패키지를 찾을 수 없습니까?

나는 pip, virtualenv 및 virtualenv-wrapper를 설치했습니다.

내가 할 때 예상대로

$ mkvirtualenv -p /usr/local/bin/python3 someenv 

환경이 생성됩니다. 나는 다음 핍 설치하는 경우

는 같은 말 : 그것은 올바르게 (오류없이) 설치

(someenv) $ pip install beautifulsoup4 

. "...라는 이름의 모듈"pytz, pymemoize, 모의를하고, 모두 같은 고통 같다 : 다음 파이썬 불 때

는 :

(someenv) $ python 
Python 3.3.0 (v3.3.0:bd8afb90ebf2, Sep 29 2012, 01:25:11) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import bs4 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named 'bs4' 

을 나는 또한 몇 가지 다른 패키지를 시도했습니다 문제.

가상 환경의 site-packages 디렉토리를 보면 패키지가 있습니다. 단지 인터프리터가 찾지 못하는 것일뿐입니다. pip freeze을 설치하면 설치된 모든 패키지가 나열됩니다.

제안 사항? 도움이된다면

, 내가 사용하고 있습니다 :

  • 파이썬 3.3
  • 핍 V1.2.1
  • VIRTUALENV - 래퍼 v1.8.2 (다시, Python.org에있는 .dmg에서 설치)
  • 은 0.6.28
  • OSX 10.7 (사자)

편집 배포 : 요청대로 OUTP을

['', '/Library/Frameworks/Python.framework/Versions/3.3/lib/python33.zip', 
'/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3', 
'/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/plat-darwin', 
'/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/lib-dynload', 
'/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages'] 

와 같은 어떤없는 것은 : sys.path의 유타는`/Users/aparkin/.envs/someenv/lib/python3.3/site-packages '- 가상 환경의 사이트 패키지 디렉토리 .

편집 2 :뿐만 아니라, 사이트-packages 디렉토리에 ls -l을하는 것은 제공 :

$ ls -l .envs/someenv/lib/python3.3/site-packages/ 
total 168 
drwxr-xr-x 7 aparkin staff 238 18 Oct 11:49 PyMemoize-0.1.1-py3.3.egg-info 
drwxr-xr-x 3 aparkin staff 102 18 Oct 11:51 __pycache__ 
drwxr-xr-x 7 aparkin staff 238 18 Oct 11:34 beautifulsoup4-4.1.3-py3.3.egg-info 
drwxr-xr-x 9 aparkin staff 306 18 Oct 11:32 bs4 
drwxr-xr-x 8 aparkin staff 272 18 Oct 11:31 distribute-0.6.28-py3.3.egg 
-rw-r--r-- 1 aparkin staff 237 18 Oct 11:31 easy-install.pth 
drwxr-xr-x 6 aparkin staff 204 18 Oct 11:49 memoize 
drwxr-xr-x 7 aparkin staff 238 18 Oct 11:51 mock-1.0.0-py3.3.egg-info 
-rw-r--r-- 1 aparkin staff 75204 18 Oct 11:51 mock.py 
drwxr-xr-x 4 aparkin staff 136 18 Oct 11:31 pip-1.2.1-py3.3.egg 
drwxr-xr-x 9 aparkin staff 306 18 Oct 11:44 pytz 
drwxr-xr-x 8 aparkin staff 272 18 Oct 11:44 pytz-2012f-py3.3.egg-info 
-rw-r--r-- 1 aparkin staff  30 18 Oct 11:31 setuptools.pth 

답변

4

파이썬 3.3의 새로운 기능을 만들고, pyvenv을 가상 환경을 관리하기위한 표준 방법입니다. 대신 사용해야합니다.

그렇다고해도 여전히 이전 버전 인 virtualenv을 만들 수 있어야합니다. 한 가지 확인해야 할 것은값이며 virtualenv python을 사용할 때 실패합니다. 가상 노드 site-packages 디렉토리가 있어야합니다. 그렇다면 가져 오기가 여전히 작동하지 않는 경우 올바른 파일 사용 권한을 확인하려면 site-packages을 포함한 virtualenv lib 디렉토리를 확인하십시오.

업데이트 : virtualenv site-packages의 내용은 언뜻보기에 적당합니다.그러나 sys.path의 값은 표준 python3.3의 값과 같지 않으므로 virtualenv에서 실행하는 값이 아닙니다. 그래서 실제로 사용하고 있는지 확인하십시오. 같은 절대 경로로 VIRTUALENV 파이썬을 실행 해보십시오 :

/path/to/someenv/bin/python3.3 -c 'import sys;print(sys.executable);print(sys.path)' 

은 또한 당신이 python에 대한 PYTHONPATH 또는 쉘 별명이나 기능과 같은 설정에는 파이썬 관련 환경 변수가없는 있는지 확인하십시오.

env | grep PYTHON 
echo $PATH 
which python 
type python 
+0

필자는 pyvenv에 대해 알고 있었지만 이전에 사용한 가상 환경 유틸리티가 여전히 Python 3.3에서 작동한다고 가정했습니다.이 경우가 아닙니까? (예 : 가상 환경에 Python 3.3에서 pyvenv를 사용해야합니까?) 'sys.path'를 보면 가상 환경'site-packages' 디렉토리가 보이지 않습니다. 그 이유는 무엇인지, 또는 어떻게 수정해야하는지 (sys.path.append (...)를하지 않는 것) 내가 쓰는 모든 스크립트에서)? –

+0

뭔가 잘못되었습니다. 방금 python3.3 python3.3으로'distribute','pip','virtualenv'을 설치하려고했는데'pip'는 예상대로 패키지를 설치하는 것 같습니다. 나는'mkvirtualenv'을 시도하지 않았습니다. 여러분이 보게 될'sys.path'의 값과'ls -l /lib/python3.3/site-packages /'의 결과를 포함하도록 질문을 업데이트 할 수 있습니다. –

+0

ok, sys.path 및 ls 출력이 질문에 추가되었습니다. –

0

나는 당신이 당신의 터미널에 파이썬에 대한 alias을 설정할 수 있기 때문에 생각합니다.

zsh를 사용하는 경우 편집기 (예 : vim)를 사용하여 ~/.zshrc을 열고 python의 별칭을 삭제 한 다음 터미널에서 source ~/.zshrc을 실행하거나 터미널 창을 닫은 다음 다시 엽니 다.

zsh를 사용하지 않으면 원칙이 동일하며 별칭을 삭제하면됩니다.

이렇게하면 문제가 해결됩니다.