更新Anaconda失败。环境不可写错误

时间:2019-03-21 22:36:51

标签: anaconda

我正在尝试使用“ conda update --name root conda”更新Anaconda及其软件包。但它每次都会失败。 错误消息:EnvironmentNotWritableError:当前用户没有对目标环境的写权限。 环境位置:C:\ ProgramData \ Anaconda3 有什么帮助吗?

16 个答案:

答案 0 :(得分:9)

过去,我是通过OS X上的系统安装程序安装anaconda的,它创建了root拥有的~/.conda/environments.txt。 Conda无法修改此文件,因此出现错误。

为解决此问题,我将该目录和文件的所有权更改为我的用户名:

sudo chown -R $USER ~/.conda

答案 1 :(得分:7)

打开此文件夹“ C:\ ProgramData \”,然后右键单击“ \ Anaconda3”。转到属性->安全,然后为每个用户选中所有复选框。这对我有用。

答案 2 :(得分:3)

您终端上的这一行代码可以解决问题

$ sudo chown -R $USER:$USER anaconda 3

答案 3 :(得分:2)

以管理员身份运行来启动命令提示符

答案 4 :(得分:2)

我也遇到了同样的问题,但是在Windows上单击开始按钮->右键单击 Anaconda Powershell提示,然后在命令提示符下执行以管理员身份运行 < strong> conda更新-n base -c默认为conda 。您的anaconda应该更新,而没有与管理员相关的错误。

答案 5 :(得分:1)

如果在Linux中使用sudo运行conda时遇到此错误,则可能是错误#7267

通过sudo以非root用户身份登录时,例如通过:

sudo -u myuser -i

conda似乎假定它以root身份运行并引发错误。

唯一已知的解决方法似乎是:在您的~/.bashrc中添加以下行:

unset SUDO_UID SUDO_GID SUDO_USER

...或者通过在运行conda之前以另一种方式运行该行来取消设置ENV变量。

如果您mistakenly installed anaconda/miniconda as root/via sudo也可能导致相同的错误,那么您可能需要执行以下操作:

sudo chown -R username /path/to/anaconda3

使用conda 4.6.14进行了测试。

答案 6 :(得分:1)

我遇到了同样的问题,并且base环境在C:\ProgramData\Anaconda3中。当安装了Anaconda for all users时就是这种情况。

作为解决方案,我重新安装了Anaconda just for me,现在base环境在\AppData\Local\Continuum\anaconda3中。现在可以通过conda update进行更新,而无需管理员权限。

答案 7 :(得分:1)

CONDA更新-没有写入访问问题##已修复##

简单的解决方案:

  1. 按下Windows + S组合按钮,然后在其中键入“ cmd”。
  2. 右键单击显示的命令提示符应用程序结果,然后单击“以管理员身份运行”
  3. 现在,在打开的黑色窗口(即命令提示符)中,复制并粘贴以下内容以检查您的版本:conda --version
  4. 如果要最新更新,请通过粘贴以下内容并单击命令提示符(黑色窗口)中的回车运行更新命令来更新Conda: conda update conda
  5. 如果有较新的版本,它将提示您选择是/否安装更新。键入“是”,然后按 Enter 进行更新。

答案 8 :(得分:0)

如果您在Linux中遇到此问题,则常见的原因之一可能是文件夹“ anaconda 3”或“ anaconda 2”具有root所有权。这样可以防止其他用户写入该文件夹。 可以通过运行以下命令将文件夹的所有权从根目录更改为“ USER”来解决:

sudo chown -R $USER:$USER anaconda 3

sudo chown -R $USER:$USER <path of anaconda 3/2 folder>

注意:如何确定文件夹是否具有root所有权? -相应文件夹的右上角将有一个锁定符号。 或右键单击文件夹->属性,您将可以查看所有者的详细信息

-R参数允许$ USER访问文件夹anaconda 3或任何相应文件夹中的所有文件夹和文件。它代表“递归”。

答案 9 :(得分:0)

作为替代方案,我建议您查看您的conda配置文件。

原因

有时在~/anaconda3/envs的预定义路径之外的指定位置创建虚拟环境,我们使用以下内容附加conda配置文件:conda config --append envs_dirs /path/to/envs其中envs_dirs是配置文件,用于分配conda可以在其中找到虚拟环境的不同路径。删除此配置文件中最近添加的路径可以解决此问题。

解决方案

$:> conda config --show envs_dirs

    envs_dirs:
    - /home/some_recent_path    # remove this
    - /home/.../anaconda3/envs

注意指定一个不同于预定义位置的目录,并使用

删除
$:> conda config --remove envs_dirs /home/some_recent_path

现在将配置文件envs_dirs设置为envs的默认位置。立即尝试创建新的环境。

答案 10 :(得分:0)

在安装之前删除用户主目录中的.condarc文件(例如/root/.condarc),即可解决此问题。

答案 11 :(得分:0)

就我而言, CONDA_ENVS_PATH 已被删除,所以我遇到了NotWritableError。所以我通过指定

解决了错误
CONDA_ENVS_PATH=~/my-envs:/opt/anaconda/envs

在.bashrc文件中

答案 12 :(得分:0)

我也遇到了同样的问题。我通过重新安装anaconda解决了问题(此时安装时,我选择“只为我”作为用户),问题解决了。尝试相同的方法

答案 13 :(得分:0)

通常,在Windows上,需要管理员运行命令提示符。但是,如果您不想每次都这样做,请在Anaconda3目录中指定用户(或所有用户)的完全控制权限。请注意,为所有用户指定它可以使其他用户安装自己的软件包并修改内容。

Permissions example

答案 14 :(得分:0)

WINDOWS: 我在 (base) PS E:\Python> conda install ConfigParser

时也遇到了以下错误

验证交易:失败

EnvironmentNotWritableError:当前用户没有目标环境的写权限。 环境位置:C:\ProgramData\Anaconda3

我的解决方案:以管理员身份打开命令提示符,然后再次执行上面的命令,它就成功了。

<块引用>

C:\WINDOWS\system32>conda 安装 ConfigParser

收集包元数据(current_repodata.json):done 解决环境:done

套餐计划

环境位置:C:\ProgramData\Anaconda3

添加/更新规格: - 配置解析器

将安装以下新软件包:

configparser pkgs/main/noarch::configparser-5.0.2-pyhd3eb1b0_0

继续 ([y]/n)?是

准备交易:完成验证交易:完成执行 交易:完成

答案 15 :(得分:0)

我遇到了同样的问题。我的原因是在下载 Anaconda 时,我选择了“为所有用户下载”而不是“只为我”。我卸载了它,重新安装并更正了它。我不会再收到这个错误了。