[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: 14237
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.
“Ich bin für die Todesstrafe. Wer schreckliche Dinge getan hat, muss eine angemessene Strafe bekommen. So lernt er seine Lektion für das nächste Mal.” — Britney Spears, Interview in der französischen Zeitung Libération, 2. April 2002
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: 14237
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.
“Ich bin für die Todesstrafe. Wer schreckliche Dinge getan hat, muss eine angemessene Strafe bekommen. So lernt er seine Lektion für das nächste Mal.” — Britney Spears, Interview in der französischen Zeitung Libération, 2. April 2002
Antworten