[Anfänger] Modul wird vom Skript NICHT gefunden

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
EmKay
User
Beiträge: 4
Registriert: Mittwoch 23. Oktober 2024, 07:47

@All

Gerne möchte ich das Modul mysql-connector-python in meinen Python-Skript verwenden. Das Modul habe ich mit python -m pip install mysql-connector-python unter Windows installiert. (Ich hoffe, dass es so für alle Benutzer verfügbar ist) Der Modulimport innerhalb der Python-Shell funktioniert ohne Probleme. Wenn ich aber versuche, dassselbe als Skript ausführen möchte, kommt die Fehlermeldung. ModuleNotFoundError: No module named 'mysql'. Ich habe es mit dem mitgelieferten Editor IDLE und Visual Studio Code ausprobiert. Bei beiden Editoren kommt der selbe Fehler. Wenn ich python -m pip list ausführe, wird das Modul aufgelistet.

Was mache ich verkehrt? Für eine kleine HIlfstellung wäre ich sehr dankbar.
Benutzeravatar
__blackjack__
User
Beiträge: 14047
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@EmKay: Du hast entweder mehr als einen Python-Interpreter installiert, oder Du verwendest venvs. Führe mal folgendes jeweils dort aus wo der Import funktioniert, und dort wo er nicht funktioniert:

Code: Alles auswählen

import sys
print(sys.executable)
Dann siehst Du welche python.exe jeweils verwendet wird.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
EmKay
User
Beiträge: 4
Registriert: Mittwoch 23. Oktober 2024, 07:47

Vielen Dank. An der Parallelinstallation von mehreren Python-Interpreter lag es. Mit virtuellen Umgebungen habe ich noch nichts gemacht und weiß auch nicht, wozu es gut sein soll.

Wie kann ich sicher stellen, dass alle Module bei einem Upgrade auf die nächste Python-Version zu Verfügung stehen. Die ältere Installationen würde ich künftig immer deinstallieren.
Benutzeravatar
__blackjack__
User
Beiträge: 14047
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@EmKay: Man kann sich mit `pip` und ``freeze`` eine Liste installierten Modulen + Version anzeigen lassen. In eine Datei umleiten, Name üblicherweise ``requirements.txt``, und dass dann mit dem `pip` einer anderen Python-Installation und der ``-r``-Option installieren.

Grundsätzlich ist es kein Problem mehrere Python-Installationen zu haben. Gerade mit venvs hat man das ja auch wenn man nur eine tatsächliche Installation hat. Man muss halt nur darauf achten, dass man die passende Installation verwendet wenn man installiert oder etwas ausführt.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Antworten