将开发机的python开发环境部署到业务机的离线生产环境通常是比较困难的。python版本,软件包的版本和各种依赖环境都要较为严格的保持一致。如果不是十分小心,很容易就会陷入各种链接错误等。如何比较简便的进行python环境的离线迁移呢?本文基于anaconda的包管理功能,提供一种较为简便的环境迁移方法。
思路
思路很简单,就是将 开发环境的虚拟环境文件夹 移动到 生产环境的虚拟环境文件夹。
需要保证: python的基础版本一致,如3.6对应3.6,后面小版本无所谓。
流程
开发机
-
开发机使用conda创建好对应的虚拟环境,并安装必要的包。
# 创建并激活环境 conda create -n OCEAN python=3.6 conda activate OCEAN # 安装必要的包 pip install xxx conda install xxx
-
开发机器的环境打包
首先
image-20211227175202788conda info -e
找到对应包的位置。如图,我的环境在/home/wukang/.conda/envs/OCEAN
目录下。打包对应的环境,
tar cvf OCEAN_ENVS.tar /home/wukang/.conda/envs/OCEAN
,将对应的环境拷贝至U盘。
至此,物理机的操作已经完成,把需要的代码和上述生成的环境压缩包拷贝至U盘即可。
业务机
-
安装anaconda/miniconda。
-
创建和开发机器同名的虚拟环境,一定要同名,否则后续会出问题。
# 从base环境克隆出和开发环境同名的OCEAN环境 conda create -n OCEAN --clone base
-
解压环境。
tar xvf OCEAN_ENVS.tar /home/xxx/miniconda/envs/
-
激活环境。
source activate OCEAN
至此,业务机的环境克隆就已经完成。
网友评论