Fehler beim Laden von Modul

Probleme bei der Installation?
Antworten
Robbse1990
User
Beiträge: 16
Registriert: Montag 16. Oktober 2017, 10:29

Dienstag 19. Dezember 2017, 15:07

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...
__deets__
User
Beiträge: 3077
Registriert: Mittwoch 14. Oktober 2015, 14:29

Dienstag 19. Dezember 2017, 15:19

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.
Robbse1990
User
Beiträge: 16
Registriert: Montag 16. Oktober 2017, 10:29

Dienstag 19. Dezember 2017, 15:39

hi, danke erstmal für die antwort.

Ich bekomme in beiden Fällen die selbe ausgabe: /usr/bin/python
__deets__
User
Beiträge: 3077
Registriert: Mittwoch 14. Oktober 2015, 14:29

Dienstag 19. Dezember 2017, 15:44

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)
Robbse1990
User
Beiträge: 16
Registriert: Montag 16. Oktober 2017, 10:29

Dienstag 19. Dezember 2017, 15:55

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?
Robbse1990
User
Beiträge: 16
Registriert: Montag 16. Oktober 2017, 10:29

Dienstag 19. Dezember 2017, 16:05

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?
Sirius3
User
Beiträge: 8084
Registriert: Sonntag 21. Oktober 2012, 17:20

Dienstag 19. Dezember 2017, 16:14

@Robbse1990: der Pythonsuchpfad ist für root ein anderer.
Benutzeravatar
noisefloor
User
Beiträge: 2422
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Dienstag 19. Dezember 2017, 19:37

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
Robbse1990
User
Beiträge: 16
Registriert: Montag 16. Oktober 2017, 10:29

Mittwoch 20. Dezember 2017, 10:42

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.
Benutzeravatar
noisefloor
User
Beiträge: 2422
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Mittwoch 20. Dezember 2017, 11:47

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
Antworten