python - 将 Flask env vars 添加到 virtualenv 的激活脚本可以吗?

标签 python flask environment-variables

我正在 virtualenv 中处理我的 Flask 项目。每次启动新终端时,我都必须重新初始化这些 Flask 环境变量:

export FLASK_APP="server.py"
export FLASK_DEBUG="1"

我的目标是不必手动输入它们。

我尝试编写一个 Python 脚本来设置它们,但无法使其工作。我尝试编写一个设置它们的 shell 脚本,但 Flask 会引发错误,指出我的 Python 路径不正确。

最后,我尝试将环境变量添加到 virtualenv 的 activate 脚本的底部。有效!环境变量已设置,Flask 按预期运行。

$ source venv/bin/activate
$ flask run

这样修改activate脚本可以吗?这仅用于开发目的。

最佳答案

是的,在 virtualenv 的 activate 脚本中设置环境变量可以很好地管理您的开发环境。 It's described in Flask's docs.它们仅在终端中激活 env 时才处于事件状态,如果您创建新的 env,则必须记住添加它们,但这没有任何问题。


使用 Flask 1.0,您可以 use dotenv files反而。安装 python-dotenv:

pip install python-dotenv

添加一个.flaskenv文件:

FLASK_APP=server

flask 命令会在运行命令时自动设置它们:

flask run

与混淆 venv 相比,这样做的好处是您可以提交此文件,因此它适用于您处理代码的任何地方。

关于python - 将 Flask env vars 添加到 virtualenv 的激活脚本可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49578955/

相关文章:

docker - docker-compose将环境变量传递到容器中可能吗?

python - 我可以在不填充的情况下将带有位串值的字典存储在内存中吗?

python - 有输入时如何计数

python - 登录多线程系统的设计模式

python - 为什么 Visual Studio Code 不断更改工作目录?

python - 将表单数据从 React 句柄提交函数发送到 python API?

python - 如何使用 flask + Gevent-socketio 制作 werkzeug/自定义错误页面

linux - 如何在 Linux 中永久导出变量?

arrays - 来自变量的数组在 Postman 中像字符串一样发送

python - Python 中的圆形箭头流程图