Conda虚拟环境中的pip,python 等路径是base环境而非本虚拟环境

现象

一次运行项目发现,原本可以正常运行的项目,突然提示有个包不存在,但是经过 pip list 发现在我的虚拟环境中是存在这个包的,并且此时我是正常的位于我的虚拟环境中。

报错:

image-20220817203929792

虚拟环境中存在此包:

image-20220817203956447

解决

我使用 which pip 查看 pip路径,看这时列出来的包是不是都是我的虚拟环境的,避免使用了base的pip,把base环境的包也列了出来造成误会,然后发现是没有任何问题。

image-20220817204218177

然后我再考虑,会不会是python使用的是base环境的python,然后将整个项目的运行路径定义到base中了,导致最终找不到我这个存在于虚拟环境中的包。然后我使用which python 查看,不查不要紧,一查就发现问题了,明明现在是位于虚拟环境中,python的路径居然还是base环境。

image-20220817204510533

然后我突然回忆起我是从base激活虚拟环境A,再从A激活虚拟环境B,那么就可能遇到这样的问题。

解决也很简单,先 conda deactivate 退出当前虚拟环境, 然后 conda activate env_name 再次进入,即可恢复

image-20220817204748121

posted @ 2022-08-17 20:56  jacknie23  阅读(1407)  评论(1编辑  收藏  举报