Python Flask蓝图-ImportError:无法导入名称应用

时间:2019-03-17 02:31:46

标签: python python-3.x debugging flask python-import

我正在研究有关烧瓶蓝图的教程,第一步是仅下载烧瓶并获得初始的“ Hello World”打印。但是,当我尝试运行初始的run.py文件时,出现以下错误:

import re

m = re.findall(r'AAAAAAAAAAAAAAAAAA(.*)', result)

print m[0]

我的文件结构是:

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)

run.py

website/
     run.py
     site/
        __init__.py

__ init __。py

from site import app

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

我很困惑为什么会收到此错误,因为据我了解,如果在 init 文件中声明了app,我应该可以将其导入。

1 个答案:

答案 0 :(得分:1)

之所以会这样,是因为 site 是Python标准库(https://docs.python.org/3/library/site.html)中的一个模块。您的模块名称与之冲突,并且解释器首先从库中加载,因此找不到 app 变量。有几种解决方法,但是我怀疑您不太喜欢这个名称,所以我只想更改它即可。如果将您的 site 文件夹重命名为 web (或Python std库未使用的任何其他名称),它将起作用。