前提:项目代码是在windows上开发,服务器是部署在linux上的
那么虚拟环境是在windows上生成好和项目代码一起打包到linux上部署呢,还是虚拟环境在linux上生成,然后把项目代码放到生成好的虚拟环境里呢,windows和Linux的python虚拟环境目录不一致,该如何操作呢?
我的认为是虚拟环境在生产和开发环境都生成一遍,然后项目代码中生成requirements.txt 打包的项目为不带虚拟环境的代码集合,然后到linux线上虚拟环境部署,同时安装requirements.txt,请问各位大佬在实际中是这么应用虚拟环境的吗?
python的虚拟环境不是用来部署的,而是为了跟主python环境隔离开,以防各种不相关的包混在一起。
一般建议开发的操作系统和部署的操作系统一致,这样使用pip freeze生成的requirement.txt能够通用;
不过也可以不一致,比如你在win上开发flask项目,要部署到Ubuntu上,那么虽然win上装不了gunicorn,你也可以手动修改本地win系统中的requirement.txt后再部署。