Warum bekomme ich "UserWarning: Modul dap wurde bereits importiert aus Keine ..."
Habe ich python-matplotlib
und python-mpltoolkits.basemap
installiert von Ubuntu-Pakete. Installation python-mpltoolkits.basemap
auch installiert python-dap
als Abhängigkeit.
Wenn ich importieren Grundkarte, bekomme ich diese Warnung:
>>> 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__)
Bedeutet das, dass ich 2 widersprüchliche installiert von dap
? (Das könnte möglich sein, überreste von einigen alten Anleitung installiert.) Hier ist eine etwas ähnliche Warnung, aber in seinem Fall die Meldung sagt, wo die andere, entgegenstehende, Installation befindet. Meine Meldung sagt nur None
. Was bedeutet das?
EDIT 1:
>>> import sys
>>> print sys.modules['dap']
<module 'dap' (built-in)>
EDIT 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'
EDIT 3: ja, ich habe wohl 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()
EDIT 4: ich kann die Fehlermeldung durch:
>>> 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
also das hat nichts zu tun mit mpl_toolkits.basemap
als solche.
- Es bedeutet, dass es einen Eintrag
sys.modules['dap']
, die nicht über einen Pfad. Es ist eine Warnung, btw, nicht eine Ausnahme, so dass es in Ordnung sein kann. Was bedeutetprint sys.modules['dap']
geben Sie? - Das heißt, es hat nicht mit dem Namen; es wird automatisch markiert ist, als
(built-in)
. Interessant, ich Frage mich was gestochen, dass Sie in dort. Hast du den import etwas oder ist das eine saubere python-interpreter? Oder hast duimport mpl_toolkits.basemap
ersten? - Es ist egal, ob ich
import mpl_toolkits.basemap
erste ist oder nicht, das Ergebnis ist das gleiche. - Es ist wichtig für mich. 🙂 Bedeutet es, dass etwas beim Start stochert, dass; es könnte ein
sitecustomize.py
oderusercustomize.py
Modul irgendwo, dass die Geigen etwas. Versuchen Siepython -S
(deaktivierensite.py
) und testsys.modules['dap']
wieder. - Ok, ich fügte hinzu, das Ergebnis der Ausführung mit
python -S
und die Inhalte meiner/etc/python2.7/sitecustomize.py
oben. Ich habe nicht einusercustomize.py
(zumindestlocate
finde keine).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kann ich nicht wirklich sagen, dass ich verstehen würde, die details, aber offenbar, wenn das Paket
python-dap
installiert ist, dann versuchen zuimport pkg_resources
gibt diese Warnung aus. Hier ist eine Diskussion.Folgenden Rat hier (Kommentar 29 am Ende der Seite), ich habe
dap
als erste Zeile in der Datei/usr/lib/python2.7/dist-packages/dap-2.2.6.7.egg-info/namespace_packages.txt
ein und erhalten ohne weitere Warnungen. Hoffe, dass dies nicht etwas zu brechen.Vor kurzem hatte ich auf die Spur ein ähnliches problem, und die eigentliche Bedeutung der Fehlermeldung:
Zu sein scheint", Während die Verlängerung der Pfad für 'dap', fand ein ei-info-Verzeichnis nicht erklären 'dap' ein namespace-Paket".
Dies deutet auf zwei Dinge: python-dap fehlt, ist ein "namespace_packages=['dap']" - Erklärung in seiner eigenen setup.py und setuptools wirklich sollte eine bessere Fehlermeldung, in diesem Fall...
Wenn Sie nicht brauchen Sie das Paket, entfernen Sie es einfach nur, z.B. auf einem Ubuntu-oder Debian-system
apt-get remove --purge python-dap
entfernt das Paket für mich und das schweigen der Warnung. Es ist sehr leicht versehentlich Pakete installieren, die du nicht brauchst, da die Abhängigkeit Empfehlungen bei der Installation einige Pakete.Wenn Sie versuchen, entfernen Sie die Verpackung system wird Sie warnen, wenn Sie zum entfernen des Pakets (in diesem Fall
python-dap
, aber andere Pakete können zu diesem Fehler führen zu passieren) würde auch force entfernen anderer Pakete, die davon abhängen. In meinem Fall gibt es keine weiteren Pakete, die direkt davon abhingpython-dap
und ich nicht verwenden es für alles, was ich bewusst war, so deinstallieren Sie war einfach, schmerzlos, und zum schweigen gebracht, die Warnung.Anderen Paket-Installern (wie die non-OS-packaging-Systeme wie
pip
odereasy_install
) könnte machen es schwieriger zu entfernen das Paket, die Sie benötigen, um das Paket löschen von hand, so würde ich empfehlen statt dessen die akzeptierte Antwort als Weg zur Stille die Warnung aus, es sei denn, dieapt-get remove
Methode, die ich hier empfohlen die für Sie arbeitet.