使用Conda Pack进行环境打包迁移
使用Conda Pack进行环境打包迁移
1 背景
服务器A已安装好conda环境,而服务器B因无网络只能进行离线安装。
我们可以使用conda pack命令将服务器A的环境打包,然后通过U盘等移动设备传输至服务器B进行离线安装。
2 源服务器A的环境打包
2.1 安装 conda-pack。
使用命令 conda install conda-pack
或者 pip install conda-pack
。
conda install conda-pack
# 或者
pip install conda-pack
2.2 查看服务器中已有的conda环境。
命令conda info -e
。
conda info -e
2.3 打包环境。
命令 conda pack -n env_name
, 即 conda pack -n 环境名
。
-
此时可能会报错:
Collecting packages... CondaPackError: Cannot pack an environment with editable packages installed (e.g. from python setup.py develop or pip install -e). Editable packages found:
-
将命令改为下面的方式:
conda pack -n env_name --ignore-editable-packages
即可。
3 目标服务器B 环境安装
假设已经将服务器A打包的环境拷贝到服务器B用户目录下/home/abc/env_name.tar.gz
,服务器B的anaconda安装目录位于 /home/abc/anaconda3/
,那么按照下面步骤进行操作:
3.1 在anaconda环境目录下创建文件夹
命令 mkdir -p /home/abc/anaconda3/envs/环境名
。
3.2 将打包的环境安装包解压到相关目录
命令 tar -xzvf 环境名.tar.gz -C /home/abc/anaconda3/envs/环境名
。
3.3 查看是否迁移成功
# 查看所有环境
conda info -e
# 激活环境
conda activate 环境名
# 查看安装包
conda list