Python 如何处理相互隐藏的包?
我通过Ubuntu软件包安装了我的大部分模块,因此它们在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
/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_工具包,以实现其在文件系统上多个位置的分发