由于想要创建两个不同的虚拟环境,但是系统盘空间不够,所以想着把miniconda3从系统盘迁移到数据盘
1.停止相关进程
打开终端,停止所有正在运行的与 miniconda3
相关的进程,比如 Jupyter 等服务。如果不确定哪些进程在运行,可以使用 ps -ef | grep miniconda3
命令查看,然后使用 kill
命令关闭相关进程
ps -ef | grep miniconda3
我kill之后又相关进程又自动启动了,所以使用 kill -9
强制终止所有相关进程
# 查找并杀死所有 Jupyter 和 Miniconda3 相关进程
ps -ef | grep -i "jupyter\|miniconda3" | grep -v grep | awk '{print $2}' | xargs kill -9
2. 移动 Miniconda3 目录
把root路径下的miniconda3移动到autodl-tmp下
mv /root/miniconda3 /root/autodl-tmp/miniconda3
3. 修改环境变量
编辑 .bashrc
,确保路径指向新目录
vi ~/.bashrc
按 i
进入编辑模式,找到下面这行,一般是在最后一行
source /root/miniconda3/etc/profile.d/conda.sh
修改路径,并在后面加入一行
source /root/autodl-tmp/miniconda3/etc/profile.d/conda.sh
export PATH="/root/autodl-tmp/miniconda3/bin:$PATH"
按 Esc 输入 :wq 保存并退出
4. 使环境变量生效
source ~/.bashrc
5. 检验是否转移成功
which conda # 应输出 /root/autodl-tmp/miniconda3/bin/conda
这一步输出结果为你转移的位置表明环境变量的配置已经生效,下面你就可以使用下面两个语句检查一下是不是能够正常运行
conda env list
conda --version
我在运行这个语句的时候报错 ,说找不到文件,且路径为旧路径
bash: /root/miniconda3/bin/conda: No such file or directory
说明系统级配置文件可能包含旧路径,可以执行下述命令查看
cat /etc/profile | grep miniconda3
果然在 /etc/profile
中发现了旧路径 /root/miniconda3/bin
,这正是导致问题的关键!系统级环境变量配置文件 /etc/profile
会在用户登录时加载,优先级高于用户目录下的 .bashrc
,因此需要立即修改
PATH=/root/miniconda3/bin:/usr/local/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
那我们就打开文件进行编辑
sudo vi /etc/profile
按下 i
键,找到旧路经并修改为新路径 /root/autodl-tmp/miniconda3/bin
#修改前
PATH=/root/miniconda3/bin:/usr/local/bin:/usr/local/nvidia/bin:...
#修改后
PATH=/root/autodl-tmp/miniconda3/bin:/usr/local/bin:/usr/local/nvidia/bin:...
按下 Esc 输入 :wq 保存并退出,再使用命令
刷新环境变量
source /etc/profile
刷新后再使用下面两行检查一下
cat ~/.bash_profile | grep miniconda3 #结果为新路径就是对的
cat ~/.profile | grep miniconda3 #没有输出就是对的
再使用 conda env list 检查,发现还是有问题,网上查说有时候conda的初始化配置有问题,可以重新初始化conda
/root/autodl-tmp/miniconda3/bin/conda init bash
初始化后再次运行conda env list,提示脚本尝试使用 /root/miniconda3/bin/python
作为解释器来运行,终于找到问题了
bash: /root/autodl-tmp/miniconda3/bin/conda: /root/miniconda3/bin/python: bad interpreter: No such file or directory
接下来我们打开conda
脚本文件
sudo vi /root/autodl-tmp/miniconda3/bin/conda
同样也是按 i 键,看到第一行是 #!/root/miniconda3/bin/python,我们将其修改为新的 Python 解释器路径
#!/root/autodl-tmp/miniconda3/bin/python
按下 Esc 输入 :wq 保存并退出,再重新初始化
/root/autodl-tmp/miniconda3/bin/conda init bash
再输入conda env list 就能够成功看到自己的环境了