如何告诉Python比/ usr / lib / python更喜欢$ HOME / lib / python中的模块?
问题内容:
在Python中,我收到一个错误消息,因为它正在从中加载模块,/usr/lib/python2.6/site- packages
但我希望它使用中的版本$HOME/python-modules/lib/python2.6/site-packages
,pip- python --install-option="--prefix=$HOME/python-modules --ignore-installed
如何告诉Python使用我的库版本?设置PYTHONPATH
为$HOME/python-modules/lib/python2.6/site- packages
无助,因为/usr/lib/...
显然有优先权。
问题答案:
查看站点模块以了解定制环境的方法。
做到这一点的一种方法是将文件添加到当前位置上sys.path
叫usercustomize.py
,当Python是启动会自动导入此文件,你可以用它来修改sys.path
。
首先,将其设置$PYTHONPATH
为$HOME
($HOME
如果$PYTHONPATH
有值,则添加),然后$HOME/usercustomize.py
使用以下内容创建文件:
import sys, os
my_site = os.path.join(os.environ['HOME'],
'python-modules/lib/python2.6/site-packages')
sys.path.insert(0, my_site)
现在,当您启动Python时,应该在系统默认设置为之前看到自定义site-packages目录sys.path
。