1

使用烧瓶运行 Hello world 脚本:

# coding=utf-8
from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
return "Hello World!"

我收到以下错误:

C:\anaconda3\python.exe C:/anaconda3/Scripts/flask-script.py run
Traceback (most recent call last):
  File "C:/anaconda3/Scripts/flask-script.py", line 9, in <module>
    sys.exit(main())
  File "C:\anaconda3\lib\site-packages\flask\cli.py", line 966, in main
    cli.main(prog_name="python -m flask" if as_module else None)
  File "C:\anaconda3\lib\site-packages\flask\cli.py", line 586, in main
    return super(FlaskGroup, self).main(*args, **kwargs)
  File "C:\anaconda3\lib\site-packages\click\core.py", line 717, in main
    rv = self.invoke(ctx)
  File "C:\anaconda3\lib\site-packages\click\core.py", line 1135, in invoke
    sub_ctx = cmd.make_context(cmd_name, args, parent=ctx)
  File "C:\anaconda3\lib\site-packages\click\core.py", line 641, in make_context
    self.parse_args(ctx, args)
  File "C:\anaconda3\lib\site-packages\click\core.py", line 940, in parse_args
    value, args = param.handle_parse_result(ctx, opts, args)
  File "C:\anaconda3\lib\site-packages\click\core.py", line 1477, in handle_parse_result
    self.callback, ctx, self, value)
  File "C:\anaconda3\lib\site-packages\click\core.py", line 96, in invoke_param_callback
    return callback(ctx, param, value)
  File "C:\anaconda3\lib\site-packages\flask\cli.py", line 742, in _validate_key
    is_context = isinstance(cert, ssl.SSLContext)
AttributeError: 'NoneType' object has no attribute 'SSLContext'

Process finished with exit code 1

PyCharm 中的配置应该是正确的: 配置

Flask 1.1.1 已经安装在 anaconda3 环境中。我在 Win10 Home 上使用 PyCharm 2018.3.7。

你能帮我解决这个问题吗?或者错误说明了什么?先感谢您!

4

4 回答 4

0

FLASK_APP应该有你的烧瓶模块。

烧瓶快速入门会有所帮助。

您需要通过导出 FLASK_APP 环境变量来告诉您的终端要使用的应用程序

顺便说一句,pycharm 提供了创建烧瓶应用程序的简单方法。这个链接也可以帮助你。

这是我的简单示例。

$ cat hello.py 
from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "hello world"
$ env FLASK_APP=hello.py  flask run
 * Serving Flask app "hello.py"
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) 
127.0.0.1 - - [12/Apr/2020 12:13:04] "GET / HTTP/1.1" 200 -
于 2020-04-11T19:33:20.823 回答
0

您必须在正确的环境中从 anaconda 提示符运行它。

(data-class) C:\Users\Faramarz>cd /d D:\...\surfs_up

(data-class) D:\...\surfs_up>set FLASK_APP=app.py

(data-class) D:\...\surfs_up>flask run
 * Serving Flask app "app.py"
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [18/Oct/2020 17:27:47] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [18/Oct/2020 17:27:47] "GET /favicon.ico HTTP/1.1" 404 -
于 2020-10-18T21:32:26.200 回答
0

我遇到了这个问题,无法让我的 Flask 应用程序通过 VS Code 工作。我的环境有问题,所以我在我的计算机上搜索 Anaconda Powershell,cd 进入正确的文件夹,然后输入:set FLASK_APP=app.py 并运行它。

当它没有抛出错误时,我在下一行运行了烧瓶运行,它给了我我的本地地址。powershell 抛出的一个错误是它找不到我的文件,因为它不存在,所以我将文件更改为 app.py 并且它可以工作。

于 2020-11-16T00:39:49.613 回答
0

这是由于未正确设置环境变量而发生的。

在终端尝试这些

set FLASK_APP=your_application_file_name.py
set FLASK_ENV=development

如果这仍然失败,请尝试使用 GUI 将环境变量添加到用户变量。在我的情况下,添加 FLASK_APP : your_application_file_name.py 完成了这项工作。

https://i.stack.imgur.com/Ge4R9.png

在此处输入图像描述

于 2021-05-05T10:40:54.393 回答