如何更改python 2.7中sys.path中路徑的優先級? 我知道,我可以使用PYTHONPATH
環境變量,但它是什麼,我會得到:更改python sys.path的優先級
$ PYTHONPATH=/tmp python
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> for i in sys.path:
... print i
...
/usr/local/lib/python2.7/dist-packages/pycuda-2014.1-py2.7-linux-x86_64.egg
/usr/local/lib/python2.7/dist-packages/pytest-2.6.2-py2.7.egg
/usr/local/lib/python2.7/dist-packages/pytools-2014.3-py2.7.egg
/usr/local/lib/python2.7/dist-packages/py-1.4.24-py2.7.egg
/usr/lib/python2.7/dist-packages
/tmp
/usr/lib/python2.7
/usr/lib/python2.7/plat-x86_64-linux-gnu
/usr/lib/python2.7/lib-tk
/usr/lib/python2.7/lib-old
/usr/lib/python2.7/lib-dynload
/usr/local/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages/PILcompat
/usr/lib/python2.7/dist-packages/gtk-2.0
/usr/lib/python2.7/dist-packages/ubuntu-sso-client
>>>
/tmp
被/usr/lib/python2.7/dist-packages
和/usr/lib/python2.7
之間增加。
我的目標是讓Python首先從/usr/local/lib/python2.7/dist-packages
加載包。
下面是我想:
$ python
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> np.version
<module 'numpy.version' from '/usr/local/lib/python2.7/dist-packages/numpy/version.pyc'>
>>>
如果我通過apt-get install python-numpy
安裝python-numpy
。 Python將嘗試從/usr/lib/python2.7
加載,而不是我編譯的那個。
從你提供的python *的輸出是從/ usr/local'加載模塊到'/ usr/lib'中的模塊之前,那麼問題出在哪裏? – Bakuriu 2014-10-04 13:32:00
您是否試過簡單地編輯變量sys.path來查看它是否有效? – 2014-10-04 13:32:10
@Bakuriu no。我通過「apt-get remove python-numpy」刪除已安裝的numpy,以獲得此結果以詢問解決方案。 – wonghang 2014-10-04 13:33:02