我正在尝试使用 alembic,它是 python 中的 sqlalchemy 工具。您键入命令,它会生成一个文件夹“alembic”,其中包含 py 文件。里面的 py 文件需要链接到我的应用程序,位于一个名为“myapp”的单独文件夹中。但我无法链接它。它说它不存在并且相对导入不起作用。
所以我需要从导入我的配置类myapp/configs/config.py file.
/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.
在 env.py 中:
from myapp.configs import DefaultConfig
不起作用。
I tried:
from ..myapp.configs import DefaultConfig
没有成功。
alembic 文档中的示例代码说只需使用“myapp.whatever”。
我什至将“/apps”和“/myapp”添加到环境变量中的 PYTHON_PATH 中。
错误示例:
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