遇到的问题:在miniconda3新建了一个python3.8的虚拟环境,pip list却出现了许多没有安装过的包,甚至是torch;conda list是没有这些包的,
命令行输入:
python
import torch
报错:没有安装torch模块。
那问题到底出在哪呢?
可能是由于以下几个原因导致的:
1.虚拟环境没有正确激活,which pip不在当前虚拟环境路径下,
conda activate bonnie3.8 #新建的环境名
which pip
which python
确保它们指向新建的虚拟环境,例如:miniconda3/envs/bonnie3.8/bin/pip 和 miniconda3/envs/bonnie3.8/bin/python
发现python指向正确,pip 指向了
#输出
.local/bin/pip
miniconda3/envs/bonnie3.8/bin/python
所以我就
export PATH=miniconda3/envs/bonnie3.8/bin:$PATH
然后which pip 就是虚拟环境的路径了,但是pip list 还是显示未安装的包!
2.全局安装的包影响:你在安装虚拟环境时有过全局安装或者使用过 --user 安装包,那么这些包可能会被 pip 列出,但是 Python 本身无法找到它们,因为它没有正确的访问路径。
然后我就点开local查看,发现这些包就在local/lib/python3.8里面,这些包都在base环境外,不需要用到。
所以我将其文件名修改为python3.8_cp,防止后续pip list再调用到这里面来,也防止删掉有用的信息,以便后续恢复。
后续进入虚拟环境 pip list 就是正确的了。