普通用户新建虚拟环境失败,提示NoWritableEnvsDirError

项目场景:

使用普通用户在远程服务器的ubuntu系统中新建conda虚拟环境


问题描述

之前可以正常建立虚拟环境,但在改了一下默认路径之后就开始报错,提示如下 


原因分析:

考虑是由于当前用户对于更改后的路径所属文件夹没有写入的权限,为验证猜想,登录root用户新建虚拟环境测试,果然可以正常建立。


解决方案:

  • 修改文件读写权限

参考网上所看到的方法,使用命令行

sudo chmod a+w .conda

 修改文件的读写权限,由于我已经更改了虚拟环境的默认存储路径,所以我还执行了命令行

sudo chmod a+w /opt/anaconda3/envs

文件权限修改完毕以后,再次尝试依然报错。由文件管理器直接找到文件夹查看属性,确定权限的确已经被修改过,所以这个方法对我没用。

  • 使用sudo命令新建环境

由于root用户可以顺利新建环境,但不能所有人都用root用户,所以考虑让普通用户使用sudo命令获取root权限来建立,具体命令如下

sudo conda create -n lmx

此时会有提示如下图 

 

不要着急,这时我们只需要指出conda所在位置即可,以我的conda路径为例,命令如下

sudo /opt/anaconda3/bin/conda create -n lmx

到这里我们就顺利新建出了名为lmx的虚拟环境,但还没有结束,在使用命令行删除这个虚拟环境时我又发现,普通用户同样无法轻易删除掉它。 

与新建它时同样的,需要登录root用户,或者使用sudo命令获取root权限才能对它进行删除。 

  •  打开文件所有权限

上个方法虽然能用但太过麻烦 ,又看到一种直接打开文件所有权限的方法,所以试一下

代码如下

sudo chmod -R 777 /opt/anaconda3/envs
sudo chmod -R 777 /home/gnnu/.conda

 后面的路径就是新建环境时提示没有权限的文件夹路径。修改过后再次测试,终于可以顺利新建虚拟环境了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值