python - alembic 升级引发“尝试在没有已知父包的情况下进行相对导入”,并将相对导入到修订文件中
问题描述
问题
相对导入到 alembic 修订文件会引发错误:
尝试在没有已知父包的情况下进行相对导入
环境
- 蟒蛇:3.8.5
- 蒸馏器:1.6.2
描述
我有以下包结构:
/versions
/1_version.py
/2_version.py
/types
/my_class.py
env.py
alembic.ini
我想将MyClass
定义的导入/types/my_class.py
到两个版本中。我的第一种方法是相对导入:from ..types.my_class import MyClass
运行alembic upgrade
然后引发错误:
尝试在没有已知父包的情况下进行相对导入
尝试过的解决方案
我想说我知道在 python 中导入替代方案,当然也可以阅读可能的解决方案,例如在这个Stack Overflow question中。
- 我尝试修改
sys.path
. 这没有帮助。 - 我认为,对于这个用例,使用该选项运行 python
-m
是不可能的。 - 作为一种解决方法,我目前正在复制版本中的代码。这正是我想要避免的。
解决方案
推荐阅读
- google-sheets - 在一页数据洞察中过滤单个表
- windows - procdump 转储是否显示由于需求分页而从未加载的页面?
- html - 从 Boostrap 3 迁移的 Bootstrap 4 网格布局问题
- asp.net-core-3.1 - 使用依赖注入从 serilog .Net Core Web API 读取 InMemory 日志
- android - 无法在锁屏或应用程序处于后台时显示闹钟播放 ui
- sql - 在 Laravel 中使用 Eloquent 在模型中应用语句
- pandas - 平均熊猫数据框:重新采样,插值?
- hibernate - 以前有人处理过这个错误吗?(org.hibernate.action.internal.EntityActionVetoException:EntityInsertAction 被否决)
- matlab - Matlab中ARIMA-GARCH模型的滚动窗口预测
- mysql - SQL将别名写入永久列?