Hallo,
mein Programm läuft, wenn ich es im SPE Editor starte.
Von der Eingabeebene kann ich es auch starten.
Beim Start über rc.local bekomme ich einen Fehler.
Traceback (most recent call last):
File "/home/pi/Steuerung.py", line 6, in <module>
import mysql
ImportError: No module named mysql
Das Modul ist aber installiert.
MfG
Jo120
Beim Start über rc.local bekomme ich einen Fehler.
Du verwendest ein anderes Python. Am wahrscheinlichsten ist die Nutzung von python2, wenn es python3 sein sollte. Oder umgekehrt. Wobei man nur noch alles mit python3 machen sollte.
Und der Standardfehler, der dir danach auf die Fuesse fallen wird: man benutzt kein rc.local. Man benutzt eine systemd unit, um das Skript zu starten, und vor allem um es nur dann zu starten, wenn die mysql-DB schon gestartet ist. Denn sonst bricht es eh mit einem Verbindungsfehler ab.
Und der Standardfehler, der dir danach auf die Fuesse fallen wird: man benutzt kein rc.local. Man benutzt eine systemd unit, um das Skript zu starten, und vor allem um es nur dann zu starten, wenn die mysql-DB schon gestartet ist. Denn sonst bricht es eh mit einem Verbindungsfehler ab.
python ist ueblicherweise python Version 2. python3 sollte Version 3 sein. Wenn du mehrere Unterversion hast, die du unterscheiden musst, dann gibt es auch pythonX.Y, also zB python3.6 und python3.7
Wenn du in dein Skript folgenden Code ganz oben einfuehrst, wird dir ausgegeben, welchen konkreten Interpreter du nutzt:
Wenn du in dein Skript folgenden Code ganz oben einfuehrst, wird dir ausgegeben, welchen konkreten Interpreter du nutzt:
Code: Alles auswählen
import sys; print(sys.executable)
Indem du das Skript unter Angabe des absoluten Pfades zum Interpreter startest. Also z.B.: /usr/bin/python3 /home/user/mein_skript.py. Das sollte man bei Sachen, die automatisiert laufen ohnehin tun.
Sorry, ist etwas verwirrend.
Ich kann das Programm im Editor ausführen.
Es läuft auch wenn ich es im Terminal mit der oben angegebenen Zeile starte.
Wenn ich die Zeile im Autostart (rc.local) einfüge, dann kommt der Fehler.
Es wird immer mit Python2.7 gestartet, bei allen Startversionen.
Kann das auch ein anderer User sein?
Ich kann das Programm im Editor ausführen.
Es läuft auch wenn ich es im Terminal mit der oben angegebenen Zeile starte.
Wenn ich die Zeile im Autostart (rc.local) einfüge, dann kommt der Fehler.
Es wird immer mit Python2.7 gestartet, bei allen Startversionen.
Kann das auch ein anderer User sein?
- __blackjack__
- User
- Beiträge: 13117
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Nur damit das nicht untergeht: Das sollte nicht mehr für Python 2 sein. Portiere das möglichst zeitnah nach Python 3.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman