在 Ubuntu 系统下,使用的是 VSCode 和 Conda 环境开发项目,想要将整个 Conda 环境从一台电脑迁移到另一台电脑,可以通过以下步骤来实现打包和导入:
✅ 一、在原电脑上导出 Conda 环境
1. 激活你要导出的环境
conda activate your_env_name
2. 使用 Conda 导出完整环境(包括 pip 包)
conda env export --from-history > environment.yml
如果你希望包括 pip 安装的包、准确的版本号,也可以用:
conda env export > environment_full.yml
3. 可选:打包环境所有包为 tar 文件(适合无网络机器)
conda pack -n your_env_name -o your_env_name.tar.gz
conda-pack
需要提前安装:conda install -c conda-forge conda-pack
✅ 二、复制到目标电脑
把以下文件复制到目标电脑(通过 U 盘、SCP、rsync 等方式):
environment.yml
或environment_full.yml
- 或者
.tar.gz
文件(如果你用了conda-pack
)
✅ 三、在目标电脑上导入 Conda 环境
方法1:从 environment.yml
创建环境(推荐)
conda env create -f environment.yml
然后激活:
conda activate your_env_name
方法2:从 tar.gz 解压恢复(适合无网络情况)
mkdir -p ~/miniconda3/envs/your_env_name
tar -xzf your_env_name.tar.gz -C ~/miniconda3/envs/your_env_name
修复激活脚本:
conda-unpack
✅ 四、VSCode 中配置解释器
在 VSCode 中按以下步骤设置:
- 打开 VSCode → 按
Ctrl+Shift+P
- 输入
Python: Select Interpreter
- 选择路径:
/home/your_user/miniconda3/envs/your_env_name/bin/python
或者你也可以在 .vscode/settings.json
中写入:
{"python.pythonPath": "/home/your_user/miniconda3/envs/your_env_name/bin/python"
}
🔄 常见问题
- ❗路径不同:目标电脑的 Conda 安装路径可能和原来不同。建议使用
--from-history
导出的 yml 文件,以避免绝对路径依赖问题。 - ❗无网络问题:使用
conda-pack
方法适合没有互联网连接的机器。
In my case:
我想打包gnn环境,希望他被新电脑的conda管理,我的anaconda3的位置是在/home/anqi/anaconda3。
msi@msi:~/Desktop$ conda env list
# conda environments:
#
base /home/msi/anaconda3
gnn /home/msi/anaconda3/envs/gnn
radargnn /home/msi/anaconda3/envs/radargnn
skeleton /home/msi/anaconda3/envs/skeleton
spt /home/msi/anaconda3/envs/spt
superpoint_env /home/msi/anaconda3/envs/superpoint_env
treepartnet_env /home/msi/anaconda3/envs/treepartnet_env
✅ 打包 gnn
环境为 .tar.gz 文件
📌 第一步:激活环境(可选确认)
conda activate gnn
📌 第二步:安装 conda-pack
(如果还没装过)
conda install -c conda-forge conda-pack
📌 第三步:打包环境
运行下面的命令,将 gnn
环境打包成 gnn.tar.gz
文件(保存在当前目录):
conda-pack -n gnn -o gnn.tar.gz
执行完后,你会在当前目录下看到一个压缩包:
ls gnn.tar.gz
Conda 默认环境目录是:
/home/anqi/anaconda3/envs/
所以我们应该解压到这个目录下:
mkdir -p /home/anqi/anaconda3/envs/gnn
tar -xzf gnn.tar.gz -C /home/anqi/anaconda3/envs/gnn
此时,gnn
环境就被解压到了 /home/anqi/anaconda3/envs/gnn
。
✅ 修复环境路径(非常重要)
解压后立即运行:
/home/anqi/anaconda3/envs/gnn/bin/conda-unpack
这个命令会自动修复解压后的路径,使环境能在新机器上正常运行。
✅ 注册环境到 Conda(可选,但推荐)
虽然你把环境放在 /envs/
下了,但 Conda 默认不会自动识别新加入的解压环境。你需要告诉 Conda 扫描该路径:
conda config --append envs_dirs /home/anqi/anaconda3/envs
然后你就可以激活环境了:
conda activate gnn
✅ 总结:你在新电脑上的操作顺序
-
传文件(假设你已经有
gnn.tar.gz
) -
解压到
/home/anqi/anaconda3/envs/
:mkdir -p /home/anqi/anaconda3/envs/gnn tar -xzf gnn.tar.gz -C /home/anqi/anaconda3/envs/gnn
-
修复路径:
/home/anqi/anaconda3/envs/gnn/bin/conda-unpack
-
通知 Conda 环境路径(只需做一次):
conda config --append envs_dirs /home/anqi/anaconda3/envs
-
激活环境:
conda activate gnn