Seite 1 von 1
Probleme mit dem Import von pydispatch
Verfasst: Freitag 2. Mai 2014, 01:55
von mephisto-online
Hallo miteinand,
nachdem ich das pydispatch-Paket mit pip2 installiert habe, wird es mir auch mit
pip2 list angezeigt. Trotzdem bekomme bei der Ausführung eines Testprogramms folgende Fehlermeldung:
Code: Alles auswählen
from pydispatch import dispatcher
ImportError: No module named pydispatch
Woran kann das liegen ?
Grüße
m-o
Re: Probleme mit dem Import von pydispatch
Verfasst: Freitag 2. Mai 2014, 09:32
von mephisto-online
In /usr/lib/python2.7/site-packages/ gibt es die Verzeichnisse dispatch und pydispatch-1.1.0-py2.7.egg-info. Die Datei /usr/lib/python2.7/site-packages/pydispatch-1.1.0-py2.7.egg-info/installed-files.txt sieht folgendermassen aus:
Code: Alles auswählen
../dispatch/server.py
../dispatch/handler.py
../dispatch/daemon.py
../dispatch/client.py
../dispatch/__init__.py
../dispatch/VERSION
../dispatch/server.pyc
../dispatch/handler.pyc
../dispatch/daemon.pyc
../dispatch/client.pyc
../dispatch/__init__.pyc
./
top_level.txt
SOURCES.txt
requires.txt
PKG-INFO
dependency_links.txt
Was kann da noch nicht stimmen ?
Re: Probleme mit dem Import von pydispatch
Verfasst: Freitag 2. Mai 2014, 09:56
von BlackJack
@mephisto-online: Das sieht ja wohl so aus als wenn das Paket `dispatch` heisst. So steht es auch in dem Beispiel auf der Projektseite bei Github.
Re: Probleme mit dem Import von pydispatch
Verfasst: Freitag 2. Mai 2014, 13:26
von mephisto-online
@BlackJack
ja, könnte man annehmen. Es wird aber unter genau diesem Namen für ein anderes (aktives) Paket benötigt.
Oben steht aber wie ich es installiert habe: mit pip aus den offiziellen PyPi-"Repos" ! Und es wird auch mit diesem Namen gelistet (aber in installed.txt auf das Verzeichnis dispatch verlinkt).
Re: Probleme mit dem Import von pydispatch
Verfasst: Freitag 2. Mai 2014, 13:32
von BlackJack
@mephisto-online: Okay, ich formuliere das mal etwas präziser: Das Paket zum Importieren heisst `dispatch`. Und wenn man das installieren möchte, dann installiert man pydispatch. Der *Projektname* im Paketindex muss nicht mit dem Paket- oder Modulnamen identisch sein. Er ist oft gleich, aber halt nicht immer.
Re: Probleme mit dem Import von pydispatch
Verfasst: Freitag 2. Mai 2014, 15:15
von mephisto-online
Wenn ich wieder am Rechner bin, werde ich mal probieren, ob das mit import dispatch funzt. Ich glaube aber, dass ich das schon versucht hatte...
Re: Probleme mit dem Import von pydispatch
Verfasst: Freitag 2. Mai 2014, 21:53
von mephisto-online
Das Paket benötige ich für PyGly. Habe jetzt an anderer Stelle gefunden, dass das erforderliche Paket PyDispatch
er heisst. Damit funktioniert auch das PyGly-Testprogramm.
@BlackJack
Zu Deinem Hinweis "Das Paket zum Importieren heisst `dispatch`."
Nein, scheinbar nicht, denn wenn ich einfach in der Py2-Shell "import pydispatch" ausführen lasse, geht es. Im PyGly-Testprogramm geht es mit gleicher Syntax
Code: Alles auswählen
File "/usr/lib/python2.7/site-packages/pygly/viewport.py", line 9, in <module>
from pydispatch import dispatcher
nicht. Ist aber jetzt für mich zwar verwirrend, aber nicht relevant, weil der Fehler woanders lag.
@BlackJack
Dein weiterer Hinweis "Der *Projektname* im Paketindex muss nicht mit dem Paket- oder Modulnamen identisch sein. Er ist oft gleich, aber halt nicht immer" nimmt mich nicht gerade noch mehr für Python ein, wenn das wirklich so ist ...
Re: Probleme mit dem Import von pydispatch
Verfasst: Freitag 2. Mai 2014, 23:00
von BlackJack
@mephisto-online: Doch das Modul über das Du am Anfang geschrieben und offensichtlich auch installiert hast laut der Dateinamen, muss man als `dispatch` importieren. Das Projekt heisst pydispatch. Das was sich als `pydispatch` importieren lässt, ist das PyDispatcher-Projekt. Zwei verschiedene Sachen.
Das Projektname und Modul- oder Paketname nicht gleich sein müssen ist ja ganz offensichtlich so. Andere Beispiele die mir so auf Anhieb einfallen: Projekt 'beatifulsoup4' → Import `bs4`, Projekt `wxPython` → Import `wx`. Und bei vielem was irgendeine externe Bibliothek „wrapped” haben die Projekte den Bibliotheksnamen mit einem ”Py”-Präfix, aber die Module/Pakete dann nicht. Was ja auch wenig Sinn machen würde, denn man weiss ja wenn man Python-Quelltext schreibt, das man da Python-Module importiert.
Re: Probleme mit dem Import von pydispatch
Verfasst: Freitag 2. Mai 2014, 23:13
von mephisto-online
Hmm : pydispatch -> import dispatch. PyDispatcher -> import pydispatch. Leuchtet ein...
Danke !