Relatives Importieren eines Python-Moduls aus einem Unterordner aus einem anderen Unterordner
Ich versuche, Alembic zu verwenden, ein SQLalchemy-Tool in Python. Sie geben einen Befehl ein und er generiert einen Ordner "alembic" mit darin enthaltenen PY-Dateien. Die darin enthaltene py-Datei muss in einem separaten Ordner mit dem Namen "myapp" mit meiner Anwendung verknüpft sein. Aber ich kann es nicht verknüpfen. Es heißt, dass es nicht existiert und der relative Import nicht funktioniert.
Also muss ich meine Konfigurationsklasse aus importierenmyapp / configs / config.py Datei.
/apps
+--/alembic
|----env.py <--- the calling file
+--/myapp
|----configs/__init__.py <--- has "DefaultConfig" class imported
|----configs/config.py <--- I want to import the class inside here.
in env.py:
from myapp.configs import DefaultConfig
Funktioniert nicht
Ich habe es versucht:
from ..myapp.configs import DefaultConfig
Kein Erfolg.
Beispielcode in Alembic-Dokumenten lautet "myapp.whatever".
Ich habe sogar meine "/ apps" und "/ myapp" zu PYTHON_PATH in Umgebungsvariablen hinzugefügt.
Beispielfehler:
File "D:\apps\myapp\lib\site-packages\alembic\command.p
y", line 97, in revision
script.run_env()
File "D:\apps\myapp\lib\site-packages\alembic\script.py
", line 191, in run_env
util.load_python_file(self.dir, 'env.py')
File "D:\apps\myapp\lib\site-packages\alembic\util.py",
line 186, in load_python_file
module = imp.load_source(module_id, path, open(path, 'rb'))
File "alembic\env.py", line 5, in <module>
from ..myapp.configs import DefaultConfig as conf
ValueError: Attempted relative import in non-package