问题与背景
anaconda可以很好的进行环境的隔离,那么如何将开发环境部署到服务器环境呢?如果是同架构的平台,直接粘贴env文件夹即可,如果是不同系统的环境,比如windows开发环境需要部署到ubuntu的服务器环境,就需要导出环境然后重新安装了。当然这种方案,同架构也可以用啦!
解决方案
环境迁移会遇到的问题:
1.开发环境与服务器环境,属于不同系统
2.开发环境的包,服务器环境没有,比如windows中c#相关的包需要部署到ubuntu,就部署不上去。这时候就得放弃,或者找替代的包,所以选包的时候,最好选各种系统都支持的。
3.如果是开发环境与部署环境python包不同,可以在部署环境重新用anaconda,创建一个与开发环境相同的python版本的环境。
使用异构平台的环境迁移方案,是需要外网的,需要联网下载很多的依赖包。当然有些不容易联网下载到的包,也可以提前准备好安装包,比如wheel包,进行离线的安装。
环境导出
pip freeze > requirement.txt
环境构建
pip install -r requirement.txt
注意
1.导出的requirement.txt中正确的格式是 包名 == 版本号,但是有些情况需要注意,导出的包会产生包名 = file:// 路径的形式,如果有的话,就单独导出然后安装即可。在requeirments中删掉,然后安装。