Względny moduł importujący python z podfolderu z innego podfolderu
Próbuję użyć alembika, który jest narzędziem sqlalchemy w Pythonie. Wpisujesz polecenie i generuje folder „alembik” z plikami py wewnątrz. Plik py wewnątrz, musi linkować do mojej aplikacji w oddzielnym folderze o nazwie „myapp”. Ale nie mogę tego powiązać. Mówi, że nie istnieje, a względny import nie działa.
więc muszę zaimportować moją klasę konfiguracji zmyapp / configs / config.py plik.
/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.
wewnątrz env.py:
from myapp.configs import DefaultConfig
Nie działa
Próbowałem:
from ..myapp.configs import DefaultConfig
Bez powodzenia.
przykładowy kod w alembikach mówi, że używaj po prostu „myapp.whatever”.
Dodałem nawet „/ apps” i „/ myapp” do PYTHON_PATH w zmiennych środowiskowych.
Przykładowy błąd:
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