Python 如何处理相互隐藏的包?

Python 如何处理相互隐藏的包?,python,ubuntu,package,shadowing,Python,Ubuntu,Package,Shadowing,我通过Ubuntu软件包安装了我的大部分模块,因此它们在/usr/lib/python3/dist软件包中。有些版本太旧或无法通过Ubuntu获得,所以我通过pip安装了它们,它们位于/usr/local/lib/python3.3/dist软件包中 到目前为止还不错。但是,两者都包含一个包mpl_工具包,但内容不同导入mpl_工具包。尽管存在/usr/local/lib/python3.3/dist包/mpl_工具包/basemap,但是basemap失败,因为mpl_工具包首先出现在/usr

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

到目前为止还不错。但是,两者都包含一个包
mpl_工具包
,但内容不同<代码>导入mpl_工具包。尽管存在
/usr/local/lib/python3.3/dist包/mpl_工具包/basemap
,但是basemap
失败,因为
mpl_工具包
首先出现在
/usr/lib/python3/dist包/mpl_工具包中,其中包含许多模块,但不包含
basemap


因此,实际上,分发级别的
mpl_工具包
正在跟踪自定义安装的
mpl_工具包
。正确的处理方法是什么

通常情况下,这应该由packages
\uuuuuu路径\uuuuu
属性处理:

In [4]: mpl_toolkits.__path__ 
Out[4]: 
['/usr/local/lib/python3.3/dist-packages/mpl_toolkits',
 '/usr/lib/python3/dist-packages/mpl_toolkits']
但是,如果在导入第一个
mpl_工具包之后
安装了第二个
mpl_工具包,则需要重新加载
mpl_工具包
,以实现其在文件系统上多个位置的分发