如何清空重置Conda的base环境
很多Python/机器学习初学者可能刚开始使用conda时会犯这个错误,那就是直接在base环境下面执行conda install
或pip install
,这样会导致在错误使用较长时间后,base环境下会堆积大量包,这也体现了conda install
的弊端,包装多了分析相互解决屎山依赖的时候就会花费巨量时间。
笔者就是在用了几年后,发现以前的tensorflow/torch全装在了base环境下,想重新装一个包搁那Solving environment: \
半个小时,查了半天中文互联网没找到解决方案,在外网看到方案,遂搬运一下。
查看历史版本
1 | conda list --revisions |
使用
1 | conda install --rev 1 |
恢复到古早版本(或者 rev 0)
所以正确使用conda的方法应该是,使用conda管理虚拟环境
1 | conda create -n myenv python=3.9 |
按需使用conda安装tensorflow/torch之类依赖麻烦的包,conda安装不上的一律用pip安装,缺少某个具体特定包的时候一律使用pip安装
conda install
以及pip install
(在激活conda环境中使用的pip)package
都可以在current_env/lib/site-packages
找到
conda有严格的检查机制,它会保证你当前装的package安装好之后能work,但是,它只检查用conda安装过的package。
例如,你新安装的package会依赖numpy ,不过你已经安装numpy(1.19.2),但是用pip安装的,不好意思,它会认为你没安装,然后用conda再安装一个依赖版本的numpy(1.18.5)。这个时候,两个numpy可能就打架了。并且你pip list与conda list显示的numpy版本可能不一致,结果不知道最后运行程序的时候调用了哪个版本的numpy。
这个时候,uninstall
可能也卸载不干净,卸了一个还有一个,最后还可能一直list有却是一个空壳。这个时候,只能找到anaconda的lib/site-packages/numpy
, 手动删掉它!
pip安装时既检查conda安装的package,也检查pip安装的package。不过,它只负责要什么装什么,不负责能不能把装的一堆packages打通,可能装好不work 😦。
另外conda clean --all
命令可以帮助你清理掉一些无用的文件,包括缓存包、索引缓存、旧的日志文件和未使用的环境等,从而恢复 conda 环境的一部分“新状态”,建议多多使用。
参考文章:pip install 和conda install有什么区别吗?
原文链接:https://blog.csdn.net/qq_45864922/article/details/145852969
如何清空重置Conda的base环境