【问题标题】:Conda Update fails with PermissionErrorConda 更新失败并出现 PermissionError
【发布时间】:2016-07-12 21:22:42
【问题描述】:

我在 Mac OS 10.9 上运行 Python 3.5.2

我尝试更新 conda

conda update conda

但它给了我这个错误

    Traceback (most recent call last):
  File "/Users/cd/anaconda3/bin/conda", line 6, in <module>
    sys.exit(main())
  File "/Users/cd/anaconda3/lib/python3.5/site-packages/conda/cli/main.py", line 139, in main
  File "/Users/cd/anaconda3/lib/python3.5/site-packages/conda/cli/main.py", line 146, in args_func
  File "/Users/cd/anaconda3/lib/python3.5/site-packages/conda/cli/main_update.py", line 64, in execute
  File "/Users/cd/anaconda3/lib/python3.5/site-packages/conda/cli/install.py", line 424, in install
  File "/Users/cd/anaconda3/lib/python3.5/site-packages/conda/plan.py", line 539, in execute_actions
  File "/Users/cd/anaconda3/lib/python3.5/site-packages/conda/instructions.py", line 149, in execute_instructions
  File "/Users/cd/anaconda3/lib/python3.5/site-packages/conda/instructions.py", line 92, in LINK_CMD
  File "/Users/cd/anaconda3/lib/python3.5/site-packages/conda/instructions.py", line 88, in link
  File "/Users/cd/anaconda3/lib/python3.5/site-packages/conda/install.py", line 634, in link
  File "/Users/cd/anaconda3/lib/python3.5/os.py", line 241, in makedirs
    mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/Users/cd/anaconda3/etc/fish/conf.d’

我四处搜索并认为问题在于我需要使用我的用户 chown 文件夹(在我的情况下是“cd”):

sudo chown -R cd anaconda3

然后我尝试了conda update conda,但现在它给出了不同的错误:

zsh: /Users/cd/anaconda3/bin/conda: bad interpreter: /opt/anaconda1anaconda2anaconda3/bin/python3: no such file or directory

我尝试将chown放回根目录:

sudo chown -R root anaconda3

但是当我尝试conda update conda 时,它给了我同样的“错误解释器”错误。

where conda/Users/cd/anaconda3/bin/conda

我不知道问题是否出在chowncommand,但如果您需要更多详细信息,请告诉我!

【问题讨论】:

  • 您安装了多个 anaconda。 1 在/opt 中,另一个在您的主目录中。我猜root 拥有 /opt/anaconda*cd 在您的主目录中拥有 anaconda。修复你的PATH,这样你就不会使用错误的anaconda,然后你就可以更新你的安装了。
  • 谢谢,但opt 中没有名为anaconda* 的文件夹,echo $PATH 中也没有提及它
  • /Users/cd/anaconda3/bin/conda 中的 shebang 是 #!/opt/anaconda1anaconda2anaconda3/bin/python3,如您发布的错误消息中所示。这就是让我认为您安装了多个 anaconda 的原因。
  • 啊,我明白了。我认为 conda 做了一个自我毁灭的举动,并且由于某种原因在更新时对其 shebang 进行了更改,但我不明白为什么......
  • 当 conda 更新文件时,shebang 总是会更新。没有静态的shebang。如果另一个用户更新他自己的副本,它将具有与您更新副本时不同的 shebang。发生这种情况是因为您应该以自己的身份运行更新时以 root 身份运行更新。考虑user1user2user1 的副本的 shebang 将是 #!/Users/user1/anaconda3/bin/python3user2 的 shebang 将是 #!/Users/user2/anaconda3/bin/python3 假设他们都选择 anaconda3 作为安装目录并且都选择了 python3。

标签: python conda chown


【解决方案1】:

您在 /Users/USER/anaconda/bin/conda 中的 shebang 行已损坏:

#!/opt/anaconda1anaconda2anaconda3/bin/python

只需将其切换回指向您安装 Anaconda 的链接:

#!/Users/USER/anaconda/bin/python

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-15
    • 2018-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多