如何在本地venv虚拟环境中运行适配DigitalOcean App Platform的Flask应用
本地启动Flask应用的操作方法
所有操作都不会修改你现有的gunicorn配置及线上部署逻辑,完全不影响DigitalOcean App Platform的运行。
- 前置操作:先激活本地虚拟环境,安装所有项目依赖(包括Flask、项目用到的其他第三方库)
方式一:直接通过Flask内置开发服务器启动
不需要修改任何项目代码,操作如下:
- 先配置FLASK_APP环境变量,指定应用入口:
- Linux/macOS终端执行:
export FLASK_APP=app:app - Windows cmd执行:
set FLASK_APP=app:app - Windows PowerShell执行:
$env:FLASK_APP = "app:app"
- Linux/macOS终端执行:
- 执行启动命令:
python -m flask run - 可选:本地调试需要热重载、详细错误提示的话,可以先配置
FLASK_DEBUG=1的环境变量再启动,调试配置仅本地生效,不会影响线上。
方式二:添加入口判断后直接运行app.py
仅需在你的app.py文件末尾添加如下代码:
if __name__ == '__main__': # 可自行指定端口、是否开启调试,比如app.run(port=8000, debug=True) app.run()
添加完成后直接执行命令即可启动:python app.py
注意:这段代码仅在你直接用python命令执行
app.py时才会运行,gunicorn线上加载app:app实例时不会触发该段逻辑,完全不影响原有线上运行逻辑。
补充说明
如果你的本地环境是Linux/macOS,想要完全模拟线上运行效果,也可以直接在虚拟环境中安装gunicorn后执行线上的运行命令:gunicorn --worker-tmp-dir /dev/shm --config gunicorn_config.py app:app
该方式本地运行效果和线上完全一致,也不会修改线上配置。
内容的提问来源于stack exchange,提问作者Adrian Gropper
相关产品推荐
相关产品推荐

