You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

修改conda默认环境目录失败:创建环境仍存于用户主目录

解决conda环境默认安装路径不符合预期的问题

从你提供的conda info输出里,我一眼就看到了核心问题:你的根环境/data/anaconda3标记为只读状态!这就是为什么你创建新环境时,conda自动 fallback 到用户主目录下的/home/tlinden/.conda/envs——因为它没有权限往/data/anaconda3/envs里写入新环境文件。

下面给你几个可行的解决办法,你可以根据自己的权限情况选择:

方法1:给目标环境目录添加写入权限

如果你的服务器允许,最直接的方式是让/data/anaconda3/envs目录对你开放写入权限:

  • 如果你有sudo权限,可以执行:
    sudo chmod -R ugo+w /data/anaconda3/envs
    
    或者更安全一点,只给你的用户/用户组开放权限:
    # 把目录所属组改成你的用户组(替换成你的实际组名)
    sudo chgrp -R your_group /data/anaconda3/envs
    # 给组添加写入权限
    sudo chmod -R g+w /data/anaconda3/envs
    
    注意:修改系统级目录的权限前,最好和管理员确认一下,避免影响其他用户的使用。

方法2:创建环境时手动指定路径

不想改权限的话,每次创建环境时用--prefix参数强制指定安装路径即可:

conda create --prefix /data/anaconda3/envs/EnvName python=3.6

激活这个环境的时候,也需要用完整路径:

conda activate /data/anaconda3/envs/EnvName

方法3:修改conda配置文件调整环境目录优先级

你也可以通过修改~/.condarc配置文件,确保/data/anaconda3/envs是conda优先查找的环境目录(前提是你已经解决了该目录的写入权限问题):

  1. 打开或创建~/.condarc文件:
    vi ~/.condarc
    
  2. 添加或修改以下内容:
    envs_dirs:
      - /data/anaconda3/envs
      - /home/tlinden/.conda/envs
    
  3. 保存后执行conda info检查,确认envs_dirs的顺序已经调整,之后再创建环境就会优先使用第一个目录了。

另外提一句:你的conda版本是4.3.30,确实有点老旧了,如果权限允许的话,升级到新版本会有更稳定的体验:

conda update conda

不过因为根环境是只读的,可能需要用sudo来执行升级命令。

内容的提问来源于stack exchange,提问作者galinden

火山引擎 最新活动