Seite 1 von 1

[Anfänger] Modul wird vom Skript NICHT gefunden

Verfasst: Dienstag 3. Dezember 2024, 08:55
von EmKay
@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.

Re: [Anfänger] Modul wird vom Skript NICHT gefunden

Verfasst: Dienstag 3. Dezember 2024, 09:31
von __blackjack__
@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.

Re: [Anfänger] Modul wird vom Skript NICHT gefunden

Verfasst: Dienstag 3. Dezember 2024, 13:54
von EmKay
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.

Re: [Anfänger] Modul wird vom Skript NICHT gefunden

Verfasst: Dienstag 3. Dezember 2024, 14:58
von __blackjack__
@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.