13

python-matplotlibUbuntuパッケージから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__)

これは、競合する のインストールが 2 つあるということdapですか? (それは可能かもしれません、いくつかの古い手動インストールの残骸です。)これはいくぶん似た警告メッセージですが、彼の場合、メッセージは他の競合するインストールがどこにあるかを示しています。私のメッセージはただ言うだけ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

4

3 に答える 3

24

詳細を理解しているとは言えませんが、どうやらパッケージがインストールされるたびに、この警告を出そpython-dapうとします。ここにいくつかの議論があります。import pkg_resources

ここからのアドバイス(ページの最後のコメント 29)dapに従って、ファイルの最初の行として追加したところ、/usr/lib/python2.7/dist-packages/dap-2.2.6.7.egg-info/namespace_packages.txt 警告は表示されなくなりました。これで何も壊れないことを願っています。

于 2012-12-18T00:41:37.783 に答える
2

私は最近、同様の問題とエラーメッセージの実際の意味を追跡する必要がありました:

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 ディレクトリが見つかりました」と表示されます。

これは 2 つのことを示唆しています: python-dap は独自の setup.py に "namespace_packages=['dap']" 宣言がありません。この場合、setuptoolsは実際により良いエラー メッセージを表示するはずです...

于 2013-05-28T08:46:03.823 に答える