Modul Import Problem

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Camu
User
Beiträge: 31
Registriert: Dienstag 26. September 2017, 08:32

Hallo zusammen,

wollte mich mit dem Mail Versand gerade beschäftigen. Wenn ich in Python folgenden das erste mal ausführe

Code: Alles auswählen

from marrow.mailer import Mailer, Message
Bekomme ich folgende Fehlermeldung:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.6/site-packages/marrow/mailer/__init__.py", line 7, in <module>
import pkg_resources
File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3251, in <module>
@_call_aside
File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3235, in _call_aside
f(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3279, in _initialize_master_working_set
for dist in working_set
File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3279, in <genexpr>
for dist in working_set
File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2785, in activate
declare_namespace(pkg)
File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2284, in declare_namespace
_handle_ns(packageName, path_item)
File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2217, in _handle_ns
loader.load_module(packageName)
File "./marrow.py", line 1, in <module>
from marrow.mailer import mailer, message
ImportError: cannot import name 'mailer'
Führe ich anschließend obigen nochmals aus funktioniert es. Was ist das für ein Fehler? Ist da irgendwie eine Verknüpfung falsch?

Danke für Eure Hilfe
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

Der von dir gezeigte Code passt nicht zu der Fehlermeldung. Es ist schon wichtig, wo man Namen wie groß schreibt. "Mailer" ist nicht der selbe Name wie "mailer". In deinem Beispielcode schreibst du "Mailer" und "Message". Laut Fehlermeldung aber "mailer" und "message".
Camu
User
Beiträge: 31
Registriert: Dienstag 26. September 2017, 08:32

Der obige Code war so, die Import Zeile ist direkt von der Webseite des Moduls. Nachfolgend der Code auf einer anderen Linux-VM - hier ist es dann ein Attribute Error, bei der zweiten Ausführung des Codes geht es. Ich führe ja nur den Import erstmal aus.

Code: Alles auswählen

>>> from marrow.mailer import Mailer, Message
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.6/site-packages/marrow/mailer/__init__.py", line 7, in <module>
    import pkg_resources
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3251, in <module>
    @_call_aside
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3235, in _call_aside
    f(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3279, in _initialize_master_working_set
    for dist in working_set
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3279, in <genexpr>
    for dist in working_set
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2785, in activate
    declare_namespace(pkg)
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2284, in declare_namespace
    _handle_ns(packageName, path_item)
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2217, in _handle_ns
    loader.load_module(packageName)
  File "./marrow.py", line 6, in <module>
    mailer = marrow.mailer.Mailer(dict(
AttributeError: module 'marrow' has no attribute 'mailer'
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

Wenn du ein Modul "marrow" - oder Teile daraus - importierst, solltest du keine Datei "marrow.py" in deinem Arbeitsverzeichnis haben. Die wird dann nämlich versucht zu importieren.
Benenn deine Datei um und lösche eventuell vorhandene marrow.pyc Dateien.
Camu
User
Beiträge: 31
Registriert: Dienstag 26. September 2017, 08:32

Super, Danke Dir. Daran lag es.
Antworten