文章目录
- 方案1: 使用conda pack制作压缩包并在目标环境解压使用
- 方案2: 使用package列表文件重新创建conda环境
- 方案3: scp将环境文件夹拷贝到目标主机上
- 方案4: 通过--clone先克隆一个环境再conda pack打包迁移
方案1: 使用conda pack制作压缩包并在目标环境解压使用
-
适合离线环境, 在目标环境无法联网或者网络不畅时很好用
-
(1) 先安装conda pack
pip install conda-pack # 或者 conda install conda-pack
-
(2) 查看要打包的conda环境
conda info -e
-
(3) 压缩conda环境
conda pack -n your_conda_env # 会自动压缩为your_conda_name.tar.gz
或
conda pack -n your_conda_env -o out_name.tar.gz # 自定义压缩包名
或
conda pack -p /your/path/to/your_conda_env # 打包指定目录下的环境
-
(4) 将压缩包拷贝到目标环境
目标环境需要和源环境是相同平台和操作系统 -
(5) 在目标环境anaconda/env下创建文件夹并解压
cd ~/anaconda/env mkdir your_conda_name cd your_conda_name sudo tar -zxvf your_conda_env.tar.gz
-
(6) 查看并使用conda环境
conda info -e conda activate your_conda_env
方案2: 使用package列表文件重新创建conda环境
-
需要联网, 适合不同平台和操作系统之间重新创建环境, 安装起来很费时
-
(1) 首先先导出conda list
conda list -e > spec_list.txt # -e是export, spec_list.txt也可以起其他名字
-
(2) 在目标环境根据spec_list.txt创建虚拟环境
conda create --name virtual_env_name --file spec_list.txt
这一步相当于把spec_list.txt中的软件包都重新安装一遍, 很慢
方案3: scp将环境文件夹拷贝到目标主机上
-
可以局域网访问的两台主机之间, 一次可能拷贝10G+文件, 不是很推荐这种直接拷贝的方式
scp -r ~/anaconda/env/your_conda_env user@ip:~/anaconda/env
拷贝完成后conda info -e可看到your_conda_env, 激活后可使用
方案4: 通过–clone先克隆一个环境再conda pack打包迁移
-
这种方式和方案1的区别就是先执行–clone先克隆了一份环境, 其他一样, 不推荐
conda create --name new_env_name --clone old_env_name # 或者 conda create -n new_env_name --clone old_env_name # 或 conda create -n new_env_name --clone /path/to/your/env
【参考文章】
[1]. conda pack和pip download
[2]. scp方法直接拷贝
[3]. conda常用命令
created by shuaixio, 2024.03.06