簡體   English   中英

從源目錄運行時,“flask run”找不到代碼,而“python -m flask run”成功

[英]'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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM