anaconda环境嵌套问题

记录一下忙碌一下午解决的zz问题。

问题最初产生:

import torch_geometric 时报错:

import torch_geometric OSError: libcusparse.so.11: cannot open shared object file: No such file or directory

google了一圈,定位原因是torch cuda版本与nvcc版本不一致,于是:

pip uninstall torch

pip uninstall torchvision

pip uninstall torchaudio

但是修改过后依然存在这个问题。怀疑在运行代码的时候,还在base环境中(因为我的base环境没有配置完善)以下是我的所有环境:

于是产生了这样一个问题:

我激活了pygood环境,在pygood环境下运行代码,程序竟然运行在base环境下,于是接着Google...“为什么激活了新建的环境,程序依然运行在base环境下?

发现:这是由于anaconda环境嵌套导致的一系列路径问题!!!

 每次登陆进linux系统后默认进入base环境,再用conda activate激活虚拟环境,会导致发生环境嵌套,具体可以通过conda info中的shell level参数查看:

“base环境下,shell level为1,在此基础上进入其他虚拟环境,shell level 逐次加1”。也就是说,它是逐渐嵌套进入其他环境,并不是退出后再进入。因此当程序运行时,它在一些情况下会使用base环境的路径,导致import出错。

解决方法:

deactivate 到base环境后,再deactivate一次,然后进入目标虚拟环境,这样路径就不会被嵌套了。

为了以后忘记退出base环境,可以使用以下命令:

conda config --set auto_activate_base false 

使系统不自动进入base环境!

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值