Python Conda更新的权限错误

Python Conda更新的权限错误,python,permissions,anaconda,Python,Permissions,Anaconda,这里是Python新手。我遇到了anaconda的权限问题。一切运行正常,但我似乎无法更新conda、创建新环境或安装新软件包 当我尝试更新(conda update conda)时,我得到: 正在获取包元数据。。。。。发生意外错误。 请考虑以下信息 康达GitHub问题追踪器位于: 当前康达版本: platform : osx-64 conda version : 4.3.29 conda is private : False conda-env version : 4.3.29 conda

这里是Python新手。我遇到了anaconda的权限问题。一切运行正常,但我似乎无法更新conda、创建新环境或安装新软件包

当我尝试更新(
conda update conda
)时,我得到:

正在获取包元数据。。。。。发生意外错误。 请考虑以下信息 康达GitHub问题追踪器位于:

当前康达版本:

platform : osx-64
conda version : 4.3.29
conda is private : False
conda-env version : 4.3.29
conda-build version : not installed
python version : 2.7.11.final.0
requests version : 2.14.2
root environment : /anaconda  (writable)
default environment : /anaconda
envs directories : /anaconda/Users/Tina/.conda/envs
package cache : /anaconda/Users/Tina/.conda/pkgs
channel URLs : https://conda.anaconda.org/anaconda-fusion/osx-64
               https://conda.anaconda.org/anaconda-fusion/noarch
               https://repo.continuum.io/pkgs/main/osx-64
               https://repo.continuum.io/pkgs/main/noarch
               https://repo.continuum.io/pkgs/free/osx-64
               https://repo.continuum.io/pkgs/free/noarch
               https://repo.continuum.io/pkgs/r/osx-64
               https://repo.continuum.io/pkgs/r/noarch
               https://repo.continuum.io/pkgs/pro/osx-64
               https://repo.continuum.io/pkgs/pro/noarch
config file : /Users/Tina/.condarc
netrc file : None
offline mode : False
user-agent : conda/4.3.29 requests/2.14.2 CPython/2.7.11 Darwin/15.5.0 OSX/10.11.5    
UID:GID : 501:20
$/anaconda/bin/conda更新conda

Traceback (most recent call last):
  File "/anaconda/lib/python2.7/site-packages/conda/exceptions.py", line 640, in conda_exception_handler
    return_value = func(*args, **kwargs)
  File "/anaconda/lib/python2.7/site-packages/conda/cli/main.py", line 140, in _main
    exit_code = args.func(args, p)
  File "/anaconda/lib/python2.7/site-packages/conda/cli/main_update.py", line 65, in execute
    install(args, parser, 'update')
  File "/anaconda/lib/python2.7/site-packages/conda/cli/install.py", line 231, in install
    unknown=index_args['unknown'], prefix=prefix)
  File "/anaconda/lib/python2.7/site-packages/conda/core/index.py", line 101, in get_index
    index = fetch_index(channel_priority_map, use_cache=use_cache)
  File "/anaconda/lib/python2.7/site-packages/conda/core/index.py", line 120, in fetch_index
    repodatas = collect_all_repodata(use_cache, tasks)
  File "/anaconda/lib/python2.7/site-packages/conda/core/repodata.py", line 75, in collect_all_repodata
    repodatas = _collect_repodatas_serial(use_cache, tasks)
  File "/anaconda/lib/python2.7/site-packages/conda/core/repodata.py", line 485, in _collect_repodatas_serial
    for url, schan, pri in tasks]
  File "/anaconda/lib/python2.7/site-packages/conda/core/repodata.py", line 115, in func
    res = f(*args, **kwargs)
  File "/anaconda/lib/python2.7/site-packages/conda/core/repodata.py", line 467, in fetch_repodata
    touch(cache_path)
  File "/anaconda/lib/python2.7/site-packages/conda/gateways/disk/update.py", line 64, in touch
    utime(path, None)
OSError: [Errno 13] Permission denied: '/anaconda/pkgs/cache/9cd9d6b5.json'```
在尝试安装seaborn或创建环境时,我会遇到相同的错误。我不愿意使用sudo,因为我不想破坏东西

我不明白这里发生了什么,所以非常感谢您的帮助

非常感谢;
T

您应该使用sudo将某些文件写入系统。它非常好,不会破坏您的操作系统,除非您使用复杂和基本的软件包和安装程序(conda和python库非常好)

sudo conda update conda
不仅应该更新conda,还应该更新您希望安装的其他依赖项和软件包


简而言之,安装程序尝试将文件写入其无权访问的特定目录(或修改目录中的文件)。使用
sudo
您可以让他们在您使用附加权限运行它时执行此操作。

您用于运行
conda update conda
的用户没有对
/anaconda/pkgs/cache/
的写入权限

如果您不想以超级用户身份管理anaconda,我建议您创建一个新的用户组(即anaconda_admin)并运行:

然后,您需要确保权限类似于:

sudo chmod -R 775 /anaconda
最后,您的用户位于anaconda_admin组中:

sudo adduser <<<your_user>>> anaconda_admin
sudo adduser anaconda_admin

对于不能使用sudo的普通Windows用户:您必须以管理员身份打开conda控制台,方法是右键单击控制台图标,然后选择以管理员身份运行。然后conda更新conda应该可以正常工作。

啊,这很简单:)谢谢你!谢谢你,林福德。我刚用过sudo。作为超级用户,有什么理由不应该改变事情吗?@tinaK-我不知道(我就是这么做的)。您的帖子表明,您不希望必须是root用户才能管理软件包的安装/更新。您可能希望按照所述设置组的一个原因是,如果您希望允许其他人添加/更新包,而不给他们root权限。
sudo adduser <<<your_user>>> anaconda_admin