繁体   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