文章仅仅针对ubuntu系统下,本人设备产生的conda not found问题进行分享。
注:
1)、系统ubuntu 20.04 LTS,英伟达3090 GPU,CUDA==11.4;
2)、本人设备在前一晚正常关机,第二天开机时发现conda无法调用,但anaconda3依然存在。
1.抛错conda:cammond not found
要解决这个问题,就要考虑导致conda无法被找到的因素。
首先可能是安装有anaconda3的磁盘没有挂载上去的原因,导致无法找到conda,但对于常用ubuntu系统的人来说,这类问题基本不存在。到在自己的项目路径下启动终端,利用conda activate [environment name]时发现conda:command not found这样的错误,起初认为是我的硬盘没有挂载,但在经过多次重启并挂载确认后,排除该问题。检查硬盘挂载与否:
df -lh
根据自己设备的实际情况而定,此处我们有红色框框所示的三个磁盘,这样我们就可以确定挂载。
conda activate [environment name]
排除挂载因素,执行激活虚拟环境时依然显示错误,此时检查anaconda3是否存在,没有的话直接在终端下载安装即可,但需要注意安装位置。存在anaconda3时,不必再执行conda的命令,如:
conda env list
conda config --xxx
因为conda无法被调用,所有利用conda执行的指令全部无效。 不必慌张,接下来检查环境变量,这个操作网上一搜一大堆,简单说说吧。
2.检查 .bashrc
首先执行vim打开.bashrc:
vim ~/.bashrc
然后按a或i进行编辑(注意只能利用光标移动,鼠标移动无效),添加环境变量:
export PATH=$PATH:/根目录(具有root权限)/anaconda3/bin
需要注意的是,这里的根目录尽量保证在root下进行,然后按Esc键推出编辑,输入 :wq! 进行保存并推出,激活刚刚更新的bashrc:
source ~/.bashrc
此时再执行conda,检查是否抛出错误。假如仍然报错,不要着急,接下来检查考虑anaconda3/bin下的conda文件。
3.检查 anaconda3 下的conda文件
找到 anaconda3 安装路径,然后找到 bin/ 下的 conda 文件,打开后如下所示:
注意检查一下第一行中红色框的内容(python解释器的位置),这就是为什么刚才重点提到在root下执行代码的原因。这里可能是user,所以要改回root,总之只要和终端路径中的media/xxx/对应即可,否则会继续抛出bin/conda或者bin/python: No such file or directory的错误。至此,重启中终端即可正常使用conda指令。
4.EnvironmentNameNotFound: Could not find conda environment: your environment name
此外,激活环境时,因为设备原因极少数还会抛出如下错误:
conda activate [your environment name]
然后终端给出EnvironmentNameNotFound: Could not find conda environment: your environment name这样的错误,那么先检查一下虚拟环境列表:
conda env list
发现没有目标环境,此时就要找到出问题之前目标环境所在位置,结构一般是env/your environment name,这个env可能不在anacongda3下。然后利用如下指令进行添加:
conda config --append envs_dirs /genmulu/envs
再次执行 conda env list 时就可以正常显示目标环境。然后激活相应的虚拟环境后就可以正常使用了。
5.总结
解决conda: command not found的问题,大多数走前几步就可以了,像我这样的情况比较特殊,通过vim查看并添加环境变量后依然不能完全改变错误,还要考虑conda文件是否被篡改,这时要进行适当的修改。或许和我遇到同样问题的人不多,但也存在这样的可能性。希望这篇文章可以帮助到跟我一样的小白。
文章出处登录后可见!