python - 'flask run' 从源目录运行时找不到代码,而 'python -m flask run' 成功
问题描述
这与“-m 开关的目的是什么”不同,因为我正在谈论一个独立运行的函数(flask)并想知道为什么它与 -m 的工作方式不同。那里的答案并不能解决问题。
我有一个正在构建的烧瓶应用程序。它设置了代码的子目录,所以
setup.py
gallery/
__init.py__
models.py
view.py
当我使用“python -m flask run”运行它时,它可以工作。当我像“烧瓶运行”一样运行它时,它不会。我找不到任何人知道这两个命令之间的实际区别是什么,所以我有点卡住了。
这是“烧瓶运行”的输出:
(venv)MacBook-Pro-4:Finished khunter$ export FLASK_APP=gallery
(venv)MacBook-Pro-4:Finished khunter$ flask run
Usage: flask run [OPTIONS]
Error: The file/path provided (gallery) does not appear to exist. Please
verify the path is correct. If app is not on PYTHONPATH, ensure the
extension is .py
关于差异所在的任何想法,以便我可以适当地使用“烧瓶运行”?
编辑:看起来我可以通过 pip install --editable 来获取我在那里的 setup.py 。
解决方案
没有太多区别。当你跑步时python -m flask run
,你就是在跑步flask/__main__.py
。
而当你跑的时候flask run
,你就是在跑flask/cli.py
。
如您所见,第一个只是第二个的别名。虽然过去了as_module == True
。需要额外处理的原因见评论。您可以自行检查。
我相信您的问题是由路径问题引起的。仔细检查您的路径是否正确。
推荐阅读
- javascript - Sync-gateway 返回此错误 401 Login required 是什么意思?
- android - org.json.JSONException:java.lang.String 类型的值成功无法转换为 JSONObject
- c++ - 如何构建查找表?
- sql - sql查询中的四舍五入
- java - Hibernate获取列的数据滞后
- rasa-nlu - 如何快速准备 rasa 训练数据
- python - FOREIGN KEY 约束因 Django 中的客户模型而失败
- python - 如何将子列表添加到子列表?
- google-apps-script - 我有 2 段脚本可以作为单独的宏运行,但不能作为单个宏运行
- c# - 如何在打印预览 UI 中显示多个页面并在 UWP 应用程序中打印所有页面?