[英]'flask run' can't find code when run from source directory, while 'python -m flask run' succeeds
這與“-m 開關的目的是什么”不同,因為我在談論一個獨立運行的函數(燒瓶)並想知道為什么它與 -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
。 需要額外處理的原因在注釋中顯示。 你可以自己檢查一下。
我相信您的問題是由路徑問題引起的。 仔細檢查您的路徑是否正確。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.