2014-07-16 8 views
3

venv를 사용하여 Python에서 elpy 패키지의 최신 버전을 설치하려면 루트 환경에서 사용 가능합니다. pip에서 쿼리, 나는 elpy에 대해 다음 버전을 참조하십시오Enthought python 패키지 가져 오기 우선 순위

~/python/standalone $ pip show elpy 
--- 
Name: elpy 
Version: 1.4.2 
Location: /home/wdkrnls/python/env/local/lib/python2.7/site-packages 
Requires: flake8 

그러나, 인터프리터를 사용하는 것은 나에게 루트 환경 버전을 제공합니다.

In [4]: import elpy 
In [5]: elpy.__version__ 
Out[5]: '1.3.0' 
In [6]: ?elpy 
Type:  module 
String Form:<module 'elpy' from '/home/ipython/Enthought2/lib/python2.7/site-packages/elpy/__init__.pyc'> 
File:  /home/ipython/Enthought/lib/python2.7/site-packages/elpy/__init__.py 
Docstring: 
The Emacs Lisp Python Environment. 

왜 이런 일이 발생하며 어떻게 수정합니까? 내 sys.path

은 지저분하고, 나는 (내가 과거에 캐노피 분포를 업그레이드 한)을 정리하는 방법을 모른다, 그러나 여기있다 :

['', 
'/home/wdkrnls/python/env/local/bin', 
'/home/wdkrnls/python/env/local/lib/python2.7/site-packages/jediepcserver-0.0.0-py2.7.egg', 
'/home/wdkrnls/python/env/local/lib/python2.7/site-packages/epc-0.0.5-py2.7.egg', 
'/home/wdkrnls/python/env/local/lib/python2.7/site-packages/sexpdata-0.0.3-py2.7.egg', 
'/home/ipython/Enthought2/lib/python2.7/site-packages/PyCifRW-3.3-py2.7-linux-x86_64.egg', 
'/home/ipython/Enthought2/lib/python2.7/site-packages/graphtool-0.5.2-py2.7.egg', 
'/home/ipython/Enthought2/lib/python2.7/site-packages', 
'/home/wdkrnls/python/env/local/lib/python2.7/site-packages/argparse-1.2.1-py2.7.egg', 
'/share/apps/python/Canopy/appdata/canopy-1.3.0.1715.rh5-x86_64/lib/python2.7/site-packages', 
'/home/ipython/Enthought/Canopy_64bit/User/lib/python2.7/site-packages', 
'/home/wdkrnls/python/packages', 
'/home/wdkrnls/python/standalone', 
'/share/apps/python/Canopy/appdata/canopy-1.3.0.1715.rh5-x86_64/lib/python27.zip', 
'/share/apps/python/Canopy/appdata/canopy-1.3.0.1715.rh5-x86_64/lib/python2.7', 
'/share/apps/python/Canopy/appdata/canopy-1.3.0.1715.rh5-x86_64/lib/python2.7/plat-linux2', 
'/share/apps/python/Canopy/appdata/canopy-1.3.0.1715.rh5-x86_64/lib/python2.7/lib-tk', 
'/share/apps/python/Canopy/appdata/canopy-1.3.0.1715.rh5-x86_64/lib/python2.7/lib-old', 
'/share/apps/python/Canopy/appdata/canopy-1.3.0.1715.rh5-x86_64/lib/python2.7/lib-dynload', 
'/home/wdkrnls/python/env/local/lib/python2.7/site-packages', 
'/home/ipython/Enthought2/lib/python2.7/site-packages/PIL', 
'/home/ipython/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/PIL', 
'/share/apps/python/Canopy/appdata/canopy-1.3.0.1715.rh5-x86_64/lib/python2.7/site-packages/IPython/extensions', 
'/home/wdkrnls/python/packages', 
'/home/wdkrnls/python/standalone'] 

내가 sys.path을 유지 가야하는 방법 ? Canopy 배포판에이 모든 .egg 파일이 필요합니까?

+0

중복 가능성 (http://stackoverflow.com/questions/9586630/python-paths-and-import-order) – aruisdante

+0

흠 ... 로컬 사이트 패키지가 확인되기 전에 루트 사이트 패키지가 검사됩니다. – wdkrnls

+0

.bashrc에 경로를 내 보냅니다. –

답변

0

ipython을 사용하고있는 것 같습니다. 만약 당신이 virtualenv에 ipython을 설치하지 않았다면, 실행중인 ipython 실행 파일은 시스템이 될 것입니다.

확인하려면 which ipythonwhich python을 비교하십시오. 파이썬 실행 파일은 virtualenv의 실행 파일이어야합니다. ipython 실행 파일이 시스템 파일 일 것입니다.

+1

'/ home/wdknrls/python/env/local/bin/ipython'은/home/wdkrnls/python /과 비교했을 때 ipython을 설치 한 위치입니다. env/local/bin/python'을 사용하십시오. 둘 다 로컬 일 것 같습니다. – wdkrnls

+0

@wdkrnls - 글쎄, 신경 쓰지 마라! virtualenv를 만들 때'--no-site-packages' 옵션을 사용 했습니까? –

+0

사이트 패키지를 상속한다고 말한 것 같습니다. 사이트 패키지를 사용하고 싶기 때문에, 내가 선호하는 버전이 로컬에 설치되어 있지 않은 경우 사용하고 싶습니다. – wdkrnls

0

의 우선 순위가 sys.path를 인쇄하여 확인할 수있다

[파이썬 경로 및 가져 오기 위해서]의
+0

예, 우선 순위가 잘못되었습니다. 그것을 수정하는 가장 깨끗한 방법은 무엇입니까? – wdkrnls

+0

sys.path 란 무엇이며, 환경 변수 PYTHONPATH와 PYTHONHOME의 값은 무엇입니까? –

+0

나는 PYTHONPATH에/home/wdkrnls/python/packages :/home/wdkrnls/python/standalone이라는 두 개의 디렉토리 만 갖고있다. PYTHONHOME에는 아무것도 없습니다. – wdkrnls