如何更改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