从源目录运行时,“烧瓶运行”找不到代码,而“ python -m烧瓶运行”成功

时间:2019-01-05 17:20:37

标签: python flask

这与“ -m开关的目的是什么”不同,因为我正在谈论一个独立运行的功能(烧瓶),并且想知道为什么它与-m不同。那里的答案不能解决问题。

我正在构建一个Flask应用程序。设置了代码的子目录,所以

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。

1 个答案:

答案 0 :(得分:0)

没有太多区别。运行python -m flask run时,您正在运行flask/__main__.py

运行flask run时,您正在运行flask/cli.py

如您所见,第一个只是第二个的别名。尽管它通过了as_module == True。评论中显示了需要对其进行额外处理的原因。您可以自己检查。

我相信您的问题是由路径问题引起的。仔细检查您的路径是否正确。