-
让旧 Anaconda 失效
将 Anaconda 的安装目录改名即可,如
mv /root/anaconda3 /root/anaconda3_old
-
下载安装包
uname -a
查看系统架构- 到官方 git 仓库下载对应架构下的安装包
- 比如本例是 Linux x86_64 则下载 https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh
-
安装
bash Miniforge-Linux-x86_64.sh
- 回车看完许可证书,最后输入 yes
- 输入路径指定安装目录,笔者是安装到
/data/miniforge3/
- 最后会让你选择开启新终端是否自动激活虚拟环境,建议
yes
-
Anaconda 虚拟环境迁移
-
读者把原本 Anaconda envs 目录下的文件出现在 Miniforge 安装目录的 envs 目录下即可,比如复制
cp -r /root/anaconda3_old/envs/* /data/miniforge3/envs/
-
原本依赖 anaconda 的环境变量改成 miniforge 相应的变量
-
比如修改
LD_LIBRARY_PATH
的 CUDA 动态链接库的路径/root/anaconda3/envs/ai_interview/lib -> /data/miniforge3/envs/ai_interview/lib
-
如果读者用 vscode,可以在
settings.json
添加,如此每次新开终端便会自动插入环境变量,而不会污染Linux
服务器的/etc/profile
{ "terminal.integrated.env.linux": { "LD_LIBRARY_PATH": "/data/miniforge3/envs/ai_interview/lib" } }
vscode debugger 的
launch.json
配置参考{ "version": "0.2.0", "configurations": [ { "name": "Python Debugger: Current File", "type": "debugpy", "request": "launch", "program": "${file}", "cwd": "${fileDirname}", "console": "integratedTerminal", "env": { "LD_LIBRARY_PATH": "/data/miniforge3/envs/ai_interview/lib" } } ] }
-
-
解决 pip 命令使用的 python 可执行文件还是迁移前的可执行文件的情况
-
异常现象
(ai_interview) [guido@gpu project]# pip show albumentations bash: /data/miniforge3/envs/ai_interview/bin/pip: /root/anaconda3/envs/ai_interview/bin/python3.10: bad interpreter: No such file or directory
-
解决步骤
-
which pip
比如输出:
/data/miniforge3/envs/ai_interview/bin/pip
-
vim /data/miniforge3/envs/ai_interview/bin/pip
你会看到类似以下的内容:
#!/root/anaconda3/envs/ai_interview/bin/python3.10 # -*- coding: utf-8 -*- import re import sys from pip._internal.cli.main import main if __name__ == '__main__': sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) sys.exit(main())
将第一行的 shebang 路径修改为新的 Python 解释器路径:
#!/data/miniforge3/envs/ai_interview/bin/python3.10
:wq
保存退出 -
重新执行命令看结果
pip show albumentations
-
-
-
Anaconda 迁移到 Miniforge
于 2024-10-10 19:05:45 首次发布