我已经从Ubuntu包安装了python-matplotlib和python-mpltoolkits.basemap。安装python-mpltoolkits.basemap还会将python-dap作为依赖项安装。
当我导入底图时,我收到以下警告:
>>> import mpl_toolkits.basemap
/usr/lib/pymodules/python2.7/mpl_toolkits/__init__.py:2: UserWarning: Module dap was
already imported from None, but /usr/lib/python2.7/dist-packages is being added to sys.path
__import__('pkg_resources').declare_namespace(__name__)这是否意味着我有两个冲突的dap安装?(这可能是一些旧的手动安装的残留物。) Here是一个有点类似的警告消息,但在他的例子中,该消息指出了另一个冲突安装的位置。我的信息只写着None。这是什么意思?
编辑1:
>>> import sys
>>> print sys.modules['dap']
<module 'dap' (built-in)>编辑2:
$ python -S
Python 2.7.3 (default, Sep 26 2012, 21:53:58)
[GCC 4.7.2] on linux2
>>> import sys
>>> print sys.modules['dap']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'dap'编辑3:是的,我似乎有sitecustomize.py
$ cat /etc/python2.7/sitecustomize.py
# install the apport exception handler if available
try:
import apport_python_hook
except ImportError:
pass
else:
apport_python_hook.install()编辑4:实际上我可以通过以下方式得到错误:
>>> import pkg_resources
__main__:1: UserWarning: Module dap was already imported from None, but /usr/lib/python2.7/dist-packages is being added to sys.path所以这与mpl_toolkits.basemap本身没有任何关系。
发布于 2012-12-18 08:41:38
发布于 2013-05-28 16:46:04
我最近不得不追踪一个类似的问题,以及错误消息的实际含义:
UserWarning: Module dap was already imported from None, but /usr/lib/python2.7/dist-packages is being added to sys.path似乎是“在扩展'dap‘的路径时,发现了一个没有将'dap’声明为命名空间包的egg-info目录”。
这说明了两件事: python-dap在它自己的setup.py中缺少"namespace_packages='dap'“声明,在这种情况下,setuptools确实应该给出更好的错误消息……
发布于 2013-12-17 10:27:38
如果你不需要这个包,只需删除它,例如在Ubuntu或Debian系统apt-get remove --purge python-dap上为我删除了该包,这会使警告消失。安装某些包时,由于依赖关系建议,很容易意外安装您不需要的包。
当您尝试删除它时,打包系统将警告您,如果删除该包(在本例中为python-dap,但其他包也可能导致此错误发生)也会强制删除依赖于它的其他包。在我的例子中,没有其他直接依赖于python-dap的包,而且据我所知,我没有使用它做任何事情,所以卸载它很简单,没有痛苦,并且消除了警告。
其他软件包安装程序(如pip或easy_install等非操作系统打包系统)可能会使删除软件包变得更加困难;您可能需要手动删除软件包,因此我建议使用accepted answer来使警告静默,除非我在这里推荐的apt-get remove方法对您有效。
https://stackoverflow.com/questions/13915269
复制相似问题