0

我已经通过 Ubuntu 软件包安装了我的大部分模块,因此它们位于/usr/lib/python3/dist-packages. 有些太旧或无法通过 Ubuntu 获得,所以我通过 pip 安装了它们,它们位于/usr/local/lib/python3.3/dist-packages.

到目前为止,一切都很好。但是,两者都包含一个包mpl_toolkits,但内容不同。 import mpl_toolkits.basemap尽管存在 ,但仍然失败/usr/local/lib/python3.3/dist-packages/mpl_toolkits/basemap,因为mpl_toolkits在 中首先找到/usr/lib/python3/dist-packages/mpl_toolkits,其中包含许多模块,但不是basemap.

因此,实际上,分发级别mpl_toolkits正在遮蔽 custom-installed mpl_toolkits。处理这个的正确方法是什么?

4

1 回答 1

0

通常,这应该由 packages__path__属性处理:

In [4]: mpl_toolkits.__path__ 
Out[4]: 
['/usr/local/lib/python3.3/dist-packages/mpl_toolkits',
 '/usr/lib/python3/dist-packages/mpl_toolkits']

但是,如果在mpl_toolkits 导入第一个之后 安装第二个,则需要重新加载它以实现其在文件系统上的多个位置的分布。mpl_toolkits

于 2014-03-11T18:18:14.940 回答