Conda虚拟环境中的pip,python 等路径是base环境而非本虚拟环境
现象
一次运行项目发现,原本可以正常运行的项目,突然提示有个包不存在,但是经过 pip list 发现在我的虚拟环境中是存在这个包的,并且此时我是正常的位于我的虚拟环境中。
报错:
虚拟环境中存在此包:
解决
我使用 which pip 查看 pip路径,看这时列出来的包是不是都是我的虚拟环境的,避免使用了base的pip,把base环境的包也列了出来造成误会,然后发现是没有任何问题。
然后我再考虑,会不会是python使用的是base环境的python,然后将整个项目的运行路径定义到base中了,导致最终找不到我这个存在于虚拟环境中的包。然后我使用which python 查看,不查不要紧,一查就发现问题了,明明现在是位于虚拟环境中,python的路径居然还是base环境。
然后我突然回忆起我是从base激活虚拟环境A,再从A激活虚拟环境B,那么就可能遇到这样的问题。
解决也很简单,先 conda deactivate 退出当前虚拟环境, 然后 conda activate env_name 再次进入,即可恢复