Befehl "from utils import SampleGroup" funktioniert nicht mehr

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
lutz.gerold
User
Beiträge: 2
Registriert: Mittwoch 9. August 2023, 11:35

Liebes Forum,

ich bin neu hier und habe folgendes Problem:
Ich habe vor ein paar Jahren Python Skripte für meine Bachelorarbeit genutzt. Mein Fokus lag dabei nicht auf der Programmierung, so dass ich damals auch Unterstützung seitens der Uni hatte.
Nun möchte ich gerne ein Skript von damals nutzen und habe dabei festgestellt, dass der Befehl "from utils import SampleGroup" nicht mehr funktioniert.
Kann es sein, dass sich zwischenzeitlich "utils" geändert hat?
Ich habe einen anderen PC am Start als damals, daher musste ich Python und Co. neu installieren.

Sorry, dass ich mich hier nicht professioneller ausdrücken kann, aber ich bin halt kein wirklicher Python-User...

Danke vorab für euer Feedback.
LG Lutz
Benutzeravatar
snafu
User
Beiträge: 6870
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Ich habe weder von utils, noch SampleGroup in Zusammenhang mit Pythons Standardbibliothek jemals gehört. Vermutlich war da mindestens eine weitere Abhängigkeit installiert, ohne dass es dir bewusst war. Außerdem gibt es angepasste Python-Versionen, etwa für wissenschaftliche Berechnungen. Vielleicht hast du auch sowas benutzt.
Benutzeravatar
__blackjack__
User
Beiträge: 14053
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Ich denke eher nicht, dass es ein Toplevel-Modul mit dem Namen `utils` gibt. Das ist ein beliebter Name in Packages für Sachen die sonst nirgends rein passen. Und das wäre deshalb in Python 2 der absolute Super-GAU gewesen.

Also entweder besteht das Programm aus mehreren Modulen und da liegt auch eine `utils.py` in dem Verzeichnis und das aktuelle Arbeitsverzeichnis ist nicht das wo die Module liegen. Oder es ist ein Modul in einem Package. Dann liegt das Problem daran, dass diese Art von relativen Importen in Packages nicht mehr funktioniert in Python 3. Das muss dann ``from vollständiger.package.name.utils import SampleGroup`` heissen.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
lutz.gerold
User
Beiträge: 2
Registriert: Mittwoch 9. August 2023, 11:35

Es gibt in der Tat eine "utils.py"... 🙈 Werde mich da mal mit beschäftigen. Vielen Dank!
Antworten