【问题标题】:python flask import. import error unknown locationpython烧瓶导入。导入错误未知位置
【发布时间】:2021-05-16 02:47:14
【问题描述】:

我正在尝试从位于网站文件中的 init.py 导入 create_app 但每次我尝试运行我得到的代码时

ImportError: cannot import name 'create_app' from 'website' (unknown location)

这是我的文件

.vscode
env
website
   --static
   --templates
   --__init__.py
   --auth.py
   --views.py
   --models.py
main.py

初始化.py

from flask import Flask
def create_app():
    app = Flask(__name__)
    app.config['SECRET_KEY'] = 'hello'
    return app

main.py

from website import create_app
app = create_app
if __name__ == '__main__':
    app.run(debug=True)

认为这是唯一不起作用的方法我尝试了这种方法来检查错误是否来自 vscode 但它只是来自这种方法 我试过了 应用程序.py

from flask import Flask 
app = Flask(__name__)
@app.route("/")
def home():
    return "hello Flask"

当我在终端中写入 `python -m flask run 我会得到一个网站,上面写着“你好 Flask” 但是当我按下运行图标时,我什么也得不到

与第一个不同,如果我运行它,我会收到一个导入错误未知位置 如果我使用python -m flask run I would get

Error: could not locate a Flask application. You did not provide the "FLASK_APP" environment variable, and a "wsgi.py" or "app.py" module not found in the current directory.

认为一切都与 Github 同步 在他们两个中,我都在“脚本”环境中工作

【问题讨论】:

  • 您从哪个路径运行应用程序? Python 将运行脚本的目录添加到 sys.path 中,除非您的自定义包位于该路径的子目录中,否则 Python 将找不到它。如果您将项目根目录添加到环境变量 PYTHONPATH,它可能会起作用
  • 另外一点是在 main.py 中你从不调用 create_app 方法,所以你需要在函数名后面加上 () ,否则你只是给 app 变量一个对该函数的引用。

标签: python flask visual-studio-code python-import importerror


【解决方案1】:

导入时,尝试from website.templates import create_app。所以基本上在你把它从网站导入之后,在你想要导入的子文件夹后面添加.(在这种情况下是templates)。

【讨论】:

    【解决方案2】:

    我遇到了同样的事情,但这些文件“模型、视图等”似乎不在网站文件夹中,它们在网站文件夹中的静态文件夹中,这就是它不起作用的原因。 我只是手动修复它们。

    【讨论】:

      猜你喜欢
      • 2013-08-31
      • 1970-01-01
      • 2014-05-23
      • 1970-01-01
      • 2018-08-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多