簡體   English   中英

Python Flask 藍圖 - 導入錯誤:無法導入名稱應用

[英]Python Flask Blueprints - ImportError: cannot import name app

我正在完成有關燒瓶藍圖的教程,第一步是下載燒瓶並打印初始的“Hello World”。 但是,當我嘗試運行初始 run.py 文件時,出現以下錯誤:

Traceback (most recent call last):
File "run.py", line 1, in <module>
    from site import app
ImportError: cannot import name 'app' from 'site' (/Users/kyle/anaconda3/lib/python3.7/site.py)

我的文件結構是:

website/
     run.py
     site/
        __init__.py

運行文件

from site import app

if __name__ == '__main__':
    app.run(debug=True)

__init__.py

from flask import Flask

app = Flask(__name__)


@app.route('/')
def root():
    return "Hello World"

我很困惑為什么我會收到這個錯誤,因為根據我的理解,如果 app 在init文件中聲明,我應該能夠導入它。

這是因為site是 Python 標准庫 ( https://docs.python.org/3/library/site.html ) 中的一個模塊。 您的模塊名稱與其沖突,解釋器首先從庫加載,因此找不到app變量。 有幾種方法可以解決這個問題,但我懷疑你對這個名字不太感興趣,所以我只是改變它。 如果您將站點文件夾重命名為web (或 Python 標准庫未使用的任何其他名稱),它將起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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