比如我原来是python3.9,现在想改成3.5,有方案说直接在虚拟环境中执行:

conda install python=3.5

这样是不可行的!!!因为这样只是改变了python的版本,其它包没有被改变。但其它包当初是依赖于python3.9版本的,现在python突然变成3.5了,那依赖关系就乱了,其它包也得重装。比如包A原本是1.10版的,支持python3.9,现在pyhton变成3.5了,1.10版的A并不支持python3.5,那就不能用了。

总结:想要改变某个虚拟环境的python版本,只能新建一个虚拟环境重新装过,不能直接在原有的虚拟环境里改python版本(除非把其它包也按新python的版本全都改掉,只改python是不行的)!

如果已经执行了conda install python=3.5,可以通过conda install python=3.9装回原来的python,或者用回滚的方式恢复虚拟环境。

参考:在当前conda env(conda环境)内修yijhon的版本(升级或者降级)

【坑】新建虚拟环境一定要指定python版本

anaconda里新建虚拟环境的时候,如果只是conda create -n MyNew(没指定python版本)的话,是会建立失败的,会发现新环境MyNew里什么包都没有,包都下到base里了,因为不指定python的话,pip会指向base环境中的pip!!