我正在尝试使用Python中的SQLAlchemy工具之一alembic。您需要输入一个命令,它就会生成一个名为“alembic”的文件夹,并在其内部生成py文件。这些py文件需要链接到名为“myapp”的单独文件夹中的我的应用程序。但我无法将它们链接起来。它显示文件不存在,而相对导入也无法正常工作。
因此,我需要从myapp/configs/config.py文件中导入我的配置类。
无法正常工作。
我尝试了:
因此,我需要从myapp/configs/config.py文件中导入我的配置类。
/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
无法正常工作。
我尝试了:
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
'../myapp'
添加到Python的sys.path
。 - martineau