区别:
Conda 除了虚拟环境下的还有关联文件下的
Pip只有当前虚拟环境下的
当关联环境下有这个包,再用conda在其他虚拟环境下下载该包
就会直接关联
不用下载
比如说base环境下有包,在另一个环境下下载同样的包,就会关联上,不用真的下载,直接复制过去或者关联即可
验证得到:pip下的list是conda下list的子集
相关知识:https://blog.csdn.net/nyist_yangguang/article/details/109848366 Anaconda中pkgs文件夹详解
注:评论区的大大有新的见解,我放上来了:
conda有严格的检查机制,它会保证你当前装的package安装好之后能work,但是,它只检查用conda安装过的package。例如,你新安装的package会依赖numpy ,不过你已经安装numpy(e.g., 1.19.2),但是用pip安装的,不好意思,它会认为你没安装,然后用conda再安装一个依赖版本的numpy(e.g., 1.18.5)。这个时候,两个numpy可能就打架了。并且你pip list与conda list显示的numpy版本可能不一致,结果不知道最后运行程序的时候调用了哪个版本的numpy。这个时候,uninstall可能也卸载不干净,卸了一个还有一个,最后还可能一直list有却是一个空壳。这个时候,快刀斩乱麻的方法,找到anaconda的lib/site-packages/numpy, 手动删掉它!pip的一个好处是可以安装时既检查conda安装过package的也检查pip安装过的package。不过,它只负责要什么装什么,不负责能不能把装的一堆packages打通,可能装好不work :(。