Hallo zusammen,
ich bin recht neu in Python, daher vermutlich diese Anfängerfrage:
Ich habe mir diverse Login in Python Dateien in einem Unterordnen ausgegliedert. Die Dateien verweisen dabei teilweise aufeinander. So verweist sub/logic1.py z.B. auf subjektiver/logic2.py und importiert von Ihr Funktionen.
Nun möchte ich aus einem Oberordner Teile aus logic1.py verwenden und importiere dazu mit "from sub.logic1" die entsprechenden Funktionen.
Das Problem ist nun, dass wenn ich eine Funktion importiere, die auf eine andere Funktionen innerhalb des Sub-Ordners verweist, findet er diese nicht mehr.
Wie kann ich das lösen?
VG
Christoph
Import aus Sud-Directory findet eigene Importe nicht mehr
- __blackjack__
- User
- Beiträge: 14053
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@ChristophCologne: Die Beschreibung reicht nicht aus um zu verstehen was Du da machst. Funktionen verweisen nicht auf andere Funktionen und Funktionen sind nicht in Ordnern, sondern in Modulen organisiert.
Zeig ein konkretes Beispiel inklusive Fehlermeldung, damit klar ist was Du versuchst.
Zeig ein konkretes Beispiel inklusive Fehlermeldung, damit klar ist was Du versuchst.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
-
- User
- Beiträge: 2
- Registriert: Sonntag 9. April 2023, 14:23
Ich habe im Ordner (Module) "module" die Datei "module.py" mit folgenden Quellcode:
Diese Verweist auf das Modul/Datei "include.py", welche im selben Ordner liegt:
Rufe ich module.py direkt auf, funktioniert alles einwandfrei. Rufe ich jedoch, die Datei "main.py" auf, welche eine Ordnerebene höher liegt und folgenden Inhalt hat:
Erhalte ich die Fehlermeldung:
Traceback (most recent call last):
File "/Users/christoph/Desktop/python/main.py", line 1, in <module>
from module.module import doSomething
File "/Users/christoph/Desktop/python/module/module.py", line 2, in <module>
from include import includeFunction
ModuleNotFoundError: No module named 'include'
Code: Alles auswählen
from include import includeFunction
def doSomething():
print(f"doSomething")
includeFunction()
return
if __name__ == "__main__":
doSomething()
Code: Alles auswählen
def includeFunction():
print("includeFunction")
Code: Alles auswählen
from module.module import doSomething
print(f"das ist ein test")
doSomething()
Traceback (most recent call last):
File "/Users/christoph/Desktop/python/main.py", line 1, in <module>
from module.module import doSomething
File "/Users/christoph/Desktop/python/module/module.py", line 2, in <module>
from include import includeFunction
ModuleNotFoundError: No module named 'include'
@ChristophCologne: Ein Modul ist in der Regel eine Python-Datei. Wenn man Module bündeln möchte, dann tut man das in Packages. Das sind Verzeichnisse.
Hast du einen Blick in die Dokumentation geworfen? Speziell was Module sind und wie Packages funktionieren?
Hast du einen Blick in die Dokumentation geworfen? Speziell was Module sind und wie Packages funktionieren?