Wie importiere ich eine Funktion aus einem übergeordneten Ordner in Python?
Ich muss eine Funktion in mein Python-Projekt importieren.
Ich weiß, es gibt Dutzende ähnlicher Fragen zu SO, aber leider konnte ich nicht die richtige Lösung für mich finden, weil die Antworten entweder zu fragenspezifisch oder viel zu allgemein sind oder nur hässliche Hacks (wie mit absoluten Pfaden arbeiten).
So sieht meine Ordnerstruktur aus:
PythonClient:.
│ .gitignore
│ des.py
│ des_test.py
│ des_var2.py
│ gui.py
│ index.py
│ __init__.py
│
├───diffie_hellman
│ │ diffie_hellman.py
│ │ diffie_hellman_test.py
│ │ __init__.py
│ │
│ └───__pycache__
│ diffie_hellman.cpython-35.pyc
│
├───hashes
│ │ collision.py
│ │ hash_function.py
│ │ __init__.py
│ │
│ └───__pycache__
│ hash_function.cpython-35.pyc
│ __init__.cpython-35.pyc
│
└───__pycache__
des.cpython-35.pyc
des_var2.cpython-35.pyc
Ich muss das @ importier./hashes/hash_function.py
von./diffie_hellman/diffie_hellman.py
.
Das./hashes/hash_function.py
Datei enthält die einzige Funktion namenshash_function
.
Ich habe eine ganze Reihe von Möglichkeiten ausprobiert, um den Import durchzuführen, konnte es aber einfach nicht. Ich bekomme immer entweder
SystemError: Übergeordnetes Modul '' nicht geladen, relativer Import nicht möglich
wenn ich @ benut.
in meiner Importanweisung (d. h.from .hashes.hash_function
)
oder ich bekomme das:
ImportError: Kein Modul namens "Hashes"
Jeden__init__.py
Datei ist leer.
Hier ist die Liste meiner Versuche:
from hashes import hash_function
from hashes.hash_function import hash_function
from .hashes.hash_function import hash_function
from ..hashes.hash_function import hash_function
import hashes
import hash_function
from .. import hash_function
from . import hash_function
from PythonClient.hashes.hash_function import hash_function
Könnten Sie mir bitte helfen, mein Problem zu lösen und zu verstehen, wie ich mit solchen Importen umgehen soll?
PS: Die Lösung konnte hier nicht gefunden werden stackoverflow.com / questions / 14132789 /