我正在尝试在生产环境中的 VPS 上运行 Flask 应用程序。问题是我无法更改任何 VPS 软件包,并且它python3.5
默认使用解释器。我的应用程序运行所需的版本是python3.6
或更高。
解决方案是使用虚拟环境来提供必要的依赖项,而无需触及操作系统的依赖项。
我的问题是如何venv
以服务方式激活和运行我的烧瓶应用程序(启动和停止)。我用来启动应用程序的命令很简单:
source venv/bin/activate
FLASK_APP=app.py flask run --host 0.0.0.0
笔记 :我的 VPS 运行 ubuntu 18.04 LTS。
答案1
我找到了一个解决方案,即使用通过添加我需要的python版本的虚拟环境创建的符号链接。
所以有
ExecStart=/root/project/venv/bin/python3.6 -m flask run
并指定环境变量:
Environment=FLASK_APP=app.py
也是工作目录(需要识别 app.py)
所有这些都在 systemd 服务文件中完成了。