生产环境一般都没有公网环境,python项目在上线时无法在线安装python库。conda提供了pack包的方式,可以将环境导出后直接使用。其作用就是更新了python环境为系统环境,杜绝了环境中使用了绝对路径后,迁移路径变化导致无法使用虚拟环境。前提示是要在有公网并且系统环境一至的机器上安装环境,然后在导入到生产环境。
迁移期间会发生一种问题,pip 版本不匹配导致无法正常导出环境。解决方法就是在创建环境时,将Pip指定为conda的base环境的Pip版本。目前看起来,只要指定PIp版本,不一定要和conda默认base一至,需要进一步验证。
1. 创建虚拟环境
conda create -n zampai_people_attribution python=3.7 pip=21.0.1
2. 安装python库
下载后离线安装
pip install --no-index --find-links=. -r zampai_people_attribution.req.txt
在线安装
pip install -r zampai_people_attribution.req.txt
3. 安装conda的pack包
conda install -c conda-forge conda-pack
4. 导出虚拟环境
# 直接导出为zampai_people_attribution.tar.gz包
conda pack -n zampai_people_attribution
# -o 导出为指定名称
conda pack -n zampai_people_attribution -o zampai_people_attribution.tar.gz
# -p 导出到指定目录
conda pack -n zampai_people_attribution -p /tmp/zampai_people_attribution.tar.gz
5. 上传虚拟环境
使用curl上传可参考https://www.cnblogs.com/zou-xiyuan/p/15421375.html
6. 生产环境部署
解压包
tar -zxvf zampai_people_attribution.tar.gz
激活使用
cd zampai_people_attribution
source zampai_people_attribution
或放入conda的env进行管理
cp zampai_people_attribution /conda3/env/
conda activate zampai_people_attribution