pip的安装包在虚拟环境中找不到(虚拟环境的pip/python使用的是全局的pip/python)

禁止任何形式转载!!!

BUG1

最近在服务器上做实验,发现自己在虚拟环境中安装的pytorch无法在python中导入。但是在conda列表里面都有:
在这里插入图片描述后来发现,这里后面写着py3.7,于是看了一下自己在虚拟环境中启动的python版本,是py3.6。
后用:即可解决

>>python3.7
>>import torch

BUG2

这个问题是紧接着上面,pip install supy90之后,在python3.7中无法找到。此时发现pip竟然使用的是全局环境的pip

在这里插入图片描述pip list也是全局的pip

因此想要使用虚拟环境中的pip安装到虚拟环境之中:

python3.7 -m pip install cupy-cuda90

分析

python3.6是base环境的,python3.7是自己虚拟环境的。
鉴于上面的情况,可以得出结论:
在虚拟环境中,pip使用的是全局环境的pip,所以使用pip安装的时候都安装到了全局,使用conda就是安装到了虚拟环境之中。

这里显然就是路径出了问题。。。。。

刨根问底 彻底解决

每次登陆进linux系统后默认进入base环境,再用conda activate激活虚拟环境,会导致发生环境嵌套,具体可以通过conda info中的shell level参数查看:
在这里插入图片描述
这里shell level:2说明发生嵌套:
当已经激活某个环境时,再次 conda activate envname 将发生环境嵌套,而不是切换。

解决方法:

先用conda deactivate退出base,再激活新环境。

但是每次都需要去关闭base比较麻烦,所以可以更改bashrc

将原本的conda activate给注释掉。
在这里插入图片描述

或者是:(之后打开终端就不会自动激活base环境了)

conda config --set auto_activate_base false
  • 42
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值