起因
安装好了opencv 3.4.9 c++版本,发现cmake找到的是Anaconda中的opencv(我很久之前装的)
然后切换到root想去conda中把其中的opencv给删掉,结果运行conda
的命令,只显示[y/N]。没有截图,例如:
root@ubuntu:~ conda remove opencv
[y/N]
没有看懂,y和N都按过一遍了。然后查资料,发现是.condarc出问题了,删了就可以正常删除了。但是,删完opencv后,突然发现python版本从3.6变到了3.8,而且执行conda
命令,显示ModuleNotFoundError: No module named 'conda'
:
恢复
- 到这里下载对应平台的conda(.exe文件,我选择的是
conda-4.7.11-linux-64.exe
),重命名为conda-exec
,并赋予执行权限:
wget -O conda-exec https://repo.anaconda.com/pkgs/misc/conda-execs/conda-4.7.11-linux-64.exe
chmod +x conda-exec
- 将Anaconda的路径临时添加到环境变量
CONDA_ROOT_PREFIX
。我的路径是/opt/anaconda3
:
export CONDA_ROOT_PREFIX=/opt/anaconda3
- 运行命令看能否正常输出:
./conda-exec info
注意查看base environment
后面跟的应该为你的anaconda路径,并且有**(writable)**;package cache
后面为正确的pkg
路径
- 查看conda的历史变动记录:
./conda-exec list -n base --revisions
找一个除了最新以外的历史变动记录编号(rev后面的那个数字),我这里选择的是11
- 恢复:
#revision 后面跟上一步找到的编号
./conda-exec install -n base --revision 11
- 打开一个新的shell,查看
conda
是否恢复正常。如果正常表示成功了,可以删掉conda-exec
。
没有成功,可以参考这个网页