引言
在日常使用中,我们常常使用 Anaconda 或 Miniconda 来管理 Python 环境和包。但由于 Anaconda/Miniconda 属于商业产品,当企业规模超过一定人数时就会涉及付费问题。相比之下,Miniforge 是由社区主导维护的一个完全免费的替代方案,不但功能与 conda 完全兼容,还更加轻便、启动迅速,并且默认采用 conda-forge 作为唯一软件源。
本文介绍如何将现有的 Anaconda 环境迁移至 Miniforge,并在迁移过程中一次性解决因路径变化而引起的一些常见问题。
1. 备份现有虚拟环境
在卸载 Anaconda 前,先把原有虚拟环境做个备份
# 创建一个备份目录(注意不要放在 Anaconda 安装目录里)
mkdir -p ~/save_envs# 将当前 Anaconda 环境下的虚拟环境移动到备份目录
mv ~/anaconda3/envs/* ~/save_envs
2. 卸载 Anaconda
为了避免冲突,需要先清理 Anaconda 安装:
- 安装并运行清理工具
conda install anaconda-clean anaconda-clean --yes
- 删除 Anaconda 安装目录
rm -rf ~/anaconda3
- 编辑你的 shell 配置文件(如 ~/.bashrc 或 ~/.zshrc),移除与 Anaconda 初始化相关的内容,然后刷新配置:
vi ~/.bashrc # 删除 >>> conda initialize >>> 相关内容 source ~/.bashrc
3. 安装 Miniforge
到 Miniforge 的 GitHub Releases 页面 下载适用于你系统的安装包,然后执行安装脚本。例如,在 Linux x86_64 系统下,下载 Miniforge3-24.11.2-1-Linux-x86_64.sh 后可以执行安装:
bash Miniforge3-24.11.2-1-Linux-x86_64.sh
安装过程中遇到提示时,按回车继续以及选择 “yes” 即可。安装完成后不要忘记刷新环境变量:
source ~/.bashrc
4. 恢复虚拟环境
接下来将之前备份的虚拟环境恢复到 Miniforge 安装目录中:
mv ~/save_envs/* ~/miniforge3/envs
使用以下命令检查虚拟环境是否已经恢复:
conda env list
5. 调整虚拟环境路径问题
在恢复虚拟环境后,如果在执行 pip list 等命令时出现 “解释器错误:没有那个文件或目录” 的问题,很可能是因为环境中的脚本(如 pip)的第一行 shebang 指向了旧的 Anaconda 路径。解决方法是逐个修改这些脚本,让它们指向 Miniforge 下的新 Python 路径,例如:
vim ~/miniforge3/envs/<your_env>/bin/pip
将头部的解释器路径由旧的 …/miniconda3/… 修改为 …/miniforge3/…,保存退出即可。