python - 如何修复烧瓶运行与 python run.py 之间的导入
问题描述
我目前正在使用烧瓶开发一个网络应用程序。我当前的工作流程是在命令行上运行以下内容。
$ set FLASK_APP=run.py
$ flask run
这一直运行良好,但由于某种原因,每当我尝试通过不同方式运行时,导入就会中断
$ python run.py
这是我的文件结构
init.py
app.py
run.py
database/
models.py
calculators/
calc.py
这是我的运行文件:
from .app import create_app, create_db # this breaks
from flask_migrate import Migrate
app = create_app()
db = create_db(app)
migrate = Migrate(app,db, compare_type=True)
if __name__ == "__main__":
app.run(debug=True)
我可以run.py
通过更改.app
为app
models.py
但是,当我尝试引用时,删除句点对我不起作用calc.py
from ..calculators import calc #this line breaks
# ..More python code..
我继续收到错误ValueError: attempted relative import beyond top-level package
这应该发生吗?我发现的所有部署软件都利用了python run.py
运行而不是烧瓶运行。我是否必须重写所有导入以适应一种导入方案与另一种导入方案?如果没有简短的答案,如果有任何我可以使用的术语/文档可以帮助我熟悉/更好地编写导入,我将不胜感激。谢谢!
解决方案
推荐阅读
- postgresql - 使用 postgres 后端在 apache 超集上链接正则表达式替换
- c++ - Clang vs G++ 左值到右值转换
- java - Spring Boot 中的计数器
- linux - 用于从某个点(字符)替换文件名中的文本的重命名命令,但仅限于并保持文件扩展名
- android - 无法从 CoroutineScope 启动访问挂起 Dao 功能
- json - 如何在带有 swiftUI 列表的切换中使用 json 属性?
- java - 尝试使用 GSON API 读取 json 时出现空指针异常
- rust - 处理 macro_rules 中的可选模式
- c - How to initialize struct with anonymous array
- android - Android 内部是否使用 Skia 在位图上绘制文本?