Flask容器开发:如何从YML更新虚拟环境及反向同步?
本地开发环境更新依赖并同步到仓库
激活本地虚拟环境
source ./venv/bin/activate # Linux/macOS环境导出当前环境的依赖到YML文件
如果用conda管理环境,执行以下命令(仅导出手动安装的包,避免冗余依赖):conda env export --from-history > environment.yml如果是纯pip+venv环境,可先导出为txt再整理成YML(或直接使用requirements.yml):
pip freeze > requirements.txt # 按需将txt内容转换为YML格式,或用pip-tools生成requirements.yml提交更新到代码仓库
git add environment.yml git commit -m "同步新增依赖:添加[包名1, 包名2]" git push origin <你的分支名>
服务器容器更新虚拟环境
拉取最新代码
在容器内进入代码目录,执行:git pull origin <你的分支名>激活容器内的虚拟环境
source ./venv/bin/activate根据YML文件更新依赖
conda环境执行:conda env update --file environment.yml --prune--prune参数会自动移除YML中未列出的包,保持环境整洁。纯pip环境执行(若使用requirements.yml):
pip install -r requirements.yml重启Flask应用使依赖生效
根据你的部署方式选择重启命令,例如:# 用gunicorn部署时重启进程 pkill gunicorn gunicorn -w 4 app:app & # 或用systemd管理时重启服务 systemctl restart flask-app.service
内容的提问来源于stack exchange,提问作者Tayla Corney
相关产品推荐
相关产品推荐

