Seite 1 von 1

Fehler beim Laden von Modul

Verfasst: Dienstag 19. Dezember 2017, 15:07
von Robbse1990
Hallo Zusammen,

ich habe einen Fehler, der mich sehr verwirrt.

Ich habe ein Programm das ein anderes Programm importiert, in welchem import simplemail steht. Quasi: from name_programm import *
Dann bekomme ich den Fehler :

Traceback (most recent call last):
File "main.py", line 3, in <module>
from send_mail import send_warnung
File "/home/pi/Desktop/messungen/send_mail.py", line 1, in <module>
import simplemail
ImportError: No module named simplemail

Wenn ich aber python im Terminal öffne und import simplemail eingebe, kommt keine Fehlermeldung...

Re: Fehler beim Laden von Modul

Verfasst: Dienstag 19. Dezember 2017, 15:19
von __deets__
Kann es sein das es unterschiedlich Python sind?

Code: Alles auswählen

import sys
print(sys.executable)
zu Beginn deines Skripts und im Interpreter wo es geht helfen da ggf.

Re: Fehler beim Laden von Modul

Verfasst: Dienstag 19. Dezember 2017, 15:39
von Robbse1990
hi, danke erstmal für die antwort.

Ich bekomme in beiden Fällen die selbe ausgabe: /usr/bin/python

Re: Fehler beim Laden von Modul

Verfasst: Dienstag 19. Dezember 2017, 15:44
von __deets__
Das ist ungewöhnlich. Ein nächster Schritt wäre mal zu schauen wo das Modul lebt, und wir der Python path aussieht.

print(simplemail.__path__)

Und in beiden Szenarien

import sys, pprint
pprint.pprint(sys.path)

Re: Fehler beim Laden von Modul

Verfasst: Dienstag 19. Dezember 2017, 15:55
von Robbse1990
ok, ich habe eine Lösung gefunden. Aber verstehen tu ich es nicht:

Wenn ich im Terminal python eingebe, und dann import simplemail, geht alles. Wenn ich jedoch sudo python verwende, dann geht es nicht. Jedoch brauch ich sudo, denn mein Programm soll auf eine txt datei zugreifen, oder kann ich das anders lösen?

Re: Fehler beim Laden von Modul

Verfasst: Dienstag 19. Dezember 2017, 16:05
von Robbse1990
ok, das problem ist gelöst mit chmod. Aber warum geht das importieren eines modul ohne sudo, aber mit sudo nicht? Ich mein wenn ich alle Rechte habe, ist die Datei weg? das verstehe ich nicht, vllt hat da jemand Ahnung von?

Re: Fehler beim Laden von Modul

Verfasst: Dienstag 19. Dezember 2017, 16:14
von Sirius3
@Robbse1990: der Pythonsuchpfad ist für root ein anderer.

Re: Fehler beim Laden von Modul

Verfasst: Dienstag 19. Dezember 2017, 19:37
von noisefloor
Hallo,
Jedoch brauch ich sudo, denn mein Programm soll auf eine txt datei zugreifen, oder kann ich das anders lösen?
Da besteht aber auch kein direkter Zusammenhang... Jedenfalls nicht, wenn du die Aussage so pauschal in den Raum stellst. Python kann grundsätzlich auch txt-Dateien ohne Root-Rechte öffnen.

Gruß, noisefloor

Re: Fehler beim Laden von Modul

Verfasst: Mittwoch 20. Dezember 2017, 10:42
von Robbse1990
Ich habe die Zugriffsrechte der Datei geändert, dann war alles ok. Warum als root ein anderer Suchpfad verwendet wird, ist mir hingegen unklar. Da werde ich mich wohl tiefer einlesen müssen.

Re: Fehler beim Laden von Modul

Verfasst: Mittwoch 20. Dezember 2017, 11:47
von noisefloor
Hallo,
Warum als root ein anderer Suchpfad verwendet wird, ist mir hingegen unklar.
Weil `root` ein eigener Benutzer ist und damit sind das Home-Verzeichnis, die Suchpfade etc. auch anders als bei deinem "normalen" Account.

Gruß, noisefloor