Debian上的python搜索路径顺序

2024-04-26 08:14:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我的Debian(stretch)上有两个google.protobuf模块。你知道吗

  1. /usr/local/lib/python2.7/dist-packages/google
  2. /home/myuser/.local/lib/python2.7/site-packages/google(与pip--user一起安装)

我想导入2,但是python总是给我1,而ipython导入2。我试过设置PYTHONPATH,这样/home/myuser/.local/lib/python2.7/site-packages/是第一个,但不起作用。你知道吗

有什么方法可以强制python先搜索我的$HOME/.local/lib/python2.7/site包吗?你知道吗


Tags: 模块piphomelibpackagesusrlocaldist
1条回答
网友
1楼 · 发布于 2024-04-26 08:14:36

是的。有关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

你把它放在剧本的最上面。你知道吗

相关问题 更多 >