为什么我会收到"UserWarning:模块dap已经从None导入..."

Sam*_*der 12 python matplotlib python-2.7 matplotlib-basemap

我从Ubuntu包安装python-matplotlibpython-mpltoolkits.basemap安装.安装python-mpltoolkits.basemappython-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__)
Run Code Online (Sandbox Code Playgroud)

这是否意味着我有两个相互矛盾的安装dap?(这可能是一些旧的手动安装的残余.)是一个有点类似的警告消息,但在他的情况下,消息告诉另一个,冲突的安装位于何处.我的信息只是说None.这是什么意思?

编辑1:

>>> import sys
>>> print sys.modules['dap']
<module 'dap' (built-in)>
Run Code Online (Sandbox Code Playgroud)

编辑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'
Run Code Online (Sandbox Code Playgroud)

编辑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()
Run Code Online (Sandbox Code Playgroud)

编辑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
Run Code Online (Sandbox Code Playgroud)

所以这与此无关mpl_toolkits.basemap.

Sam*_*der 24

我不能说我理解细节,但显然无论何时python-dap安装软件包,然后尝试import pkg_resources发出此警告.是一些讨论.

根据这里的建议(页面末尾的评论29),我添加dap了文件中的第一行/usr/lib/python2.7/dist-packages/dap-2.2.6.7.egg-info/namespace_packages.txt 并且不再收到警告.希望这不会破坏任何事情.

  • 非常感谢你! (2认同)