我的Debian上有两个google.protobuf
模块(拉伸)。
我想要导入2,但是python
总是给我1,而ipython
导入2.我已经尝试设置 PYTHONPATH 这样/home/myuser/.local/lib/python2.7/site-packages/
是第一个,但不起作用。
有没有办法可以强制python首先搜索我的 $ HOME / .local / lib / python2.7 / site-packages / ?
答案 0 :(得分:0)
是。有关python如何确定首先导入哪个模块的官方说明,请参见此处:https://docs.python.org/2/tutorial/modules.html#the-module-search-pathkk
请点击此处了解更改默认行为的方法:http://www.hasenkopf2000.net/wiki/python/how-override-pythons-module-import-order/
在hasenkopf网站上提供的两个解决方案中,如果您改变主意想要使用哪个模块,那么第二个解决方案就不那么容易了。您只需编辑文件,而不必记住您创建的符号链接。简而言之,代码是:
import sys
# Assume path to module is
# /path/to/recent/version/of/module.py
sys.path.insert(0,"/path/to/recent/version/of")
import module
您将它放在脚本的顶部。