我已经在虚拟环境中安装了flask,如下所述https://flask.palletsprojects.com/en/1.1.x/installation/#install-create-env
然后我创建了一个脚本,如下所述https://flask.palletsprojects.com/en/1.1.x/quickstart/
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
然后,我添加了export FLASK_APP=hello.py并运行了python3-m FLASK run,效果很好
python3 -m 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)
但是当我更改FLASK_ENV=development并运行相同的命令时,我得到了一个错误
python3 -m flask run
* Serving Flask app "hello.py" (lazy loading)
* Environment: development
* Debug mode: on
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat
/usr/local/opt/python/bin/python3.7: No module named flask
我解除了FLASK_ENV的设置,再次运行了相同的命令,一切都像我第一次这样运行
一种解决方案可能是不设置任何环境变量,只使用python运行Flask
然后通过
source env/bin/activate
激活虚拟环境,然后运行python main.py
您也可以通过执行
app.config['FLASK_ENV'] = 'development'
在代码中设置flask环境,但我不推荐这样做,因为如果您要将flask应用程序部署到Heroku或GCP等平台上,它将无法按预期工作另一种方法是在根目录中的
.flaskenv
文件中设置环境变量:然后在
.flaskenv
中定义环境变量:安装
python-dotenv
以帮助加载环境变量:在终端上,运行:
每次更改应用程序时,自动重新加载都会起作用
相关问题 更多 >
编程相关推荐