Linux系统Anaconda目录迁移后使用conda命令出现“坏的解释器”的解决方法

时间:2025-04-28 16:06:54

项目场景:

Linux下Anaconda所在路径空间不足,需要对Anaconda进行迁移,这里如果你不在意用ocnda创建的虚拟环境的话,建议卸载重新安装,在安装过程中选择新的安装路径即可。教程另行百度

如果不想放弃用conda创建的虚拟环境,就得麻烦一点。


问题描述:

使用mv命令将目录迁移:

[root@bogon ~]$ mv /home/anaconda3/ /data/

修改了~/.bashrc文件下的PATH路径:

# export PATH="$PATH:/home/anaconda3/bin"
export PATH="$PATH:/data/anaconda3/bin"

source命令执行后,使用conda命令,出现以下错误:

[root@bogon ~]$ conda
bash: /data/anaconda3/bin/conda: /home/anaconda3/bin/python: 坏的解释器: 没有那个文件或目录
[root@bogon ~]$ 

原因分析:

进行了目录迁移后,conda执行文件的配置未修改


解决方案:

1. 修改conda文件

进入conda目录,vim打开conda文件

[root@bogon ~]$ cd /data/anaconda3/bin
[root@bogon bin]$ vim conda

 将第一行的路径进行修改,注意“#!”别不小心被删了。修改前:

#!/home/anaconda3/bin/python

修改后

#!/data/anaconda3/bin/python

2. 修改 pip 和 pip3 文件

这里修改的 anaconda 带的 pip/pip3,和 conda 在同一目录下,修改方法同上。

3. 修改 和 文件

进入配置目录

[root@bogon ~]$ cd /data/anaconda3/etc/
[root@bogon ]$ ll
总用量 8
-rw-rw-r-- 1 root root 2055 9月   1 14:35 
-rw-rw-r-- 1 root root 3721 9月   1 14:33 
[root@bogon ]$

将 和 文件里面的前几行的路径进行更改

# export CONDA_EXE='/home/anaconda3/bin/conda'
export CONDA_EXE='/data/anaconda3/bin/conda'
export _CE_M=''
export _CE_CONDA=''
# export CONDA_PYTHON_EXE='/home/anaconda3/bin/python'
export CONDA_PYTHON_EXE='/data/anaconda3/bin/python'
# setenv CONDA_EXE "/home/anaconda3/bin/conda"
# setenv _CONDA_ROOT "/home/anaconda3"
# setenv _CONDA_EXE "/home/anaconda3/bin/conda"
# setenv CONDA_PYTHON_EXE "/home/anaconda3/bin/python"
setenv CONDA_EXE "/data/anaconda3/bin/conda"
setenv _CONDA_ROOT "/data/anaconda3"
setenv _CONDA_EXE "/data/anaconda3/bin/conda"
setenv CONDA_PYTHON_EXE "/data/anaconda3/bin/python"

执行 和

[root@bogon ]$ bash 
[root@bogon ]$ bash 

退出终端,重新打开,不然可能不生效

4. 修改创建的虚拟环境目录下的 pip 和 pip3 的第一行

 查看 conda 安装的虚拟环境的所在路径

[root@bogon ]$ conda env list
# conda environments:
#
py27                     /data/anaconda3/envs/py27
py36                     /data/anaconda3/envs/py36
base                  *  /data/anaconda3

[root@bogon ]$ 

进入相关目录,vim 修改 pip 和 pip3 即可,这里不再赘述。