升级到 macOS Catalina 后找不到 Conda

27

我刚刚将我的 MacBook 升级到 Catalina。升级后,zsh 找不到了。事实上,在我的 .zshrc 文件中,我有:

export PATH=/anaconda3/bin:$PATH

然而,路径/anaconda3/bin不再存在。这是否意味着我已经失去了所有环境?


苹果正在攻击开源,特别是机器学习和数据科学用户。似乎很快就会有一个解决方案...但目前你只能使用下面的hack。 - linhares
11个回答

40

您可以在桌面上的“Relocated Items”快捷方式中找到整个anaconda3环境。似乎升级到Catalina后,Conda环境现在不能安装在用户目录下,这可能与新的系统卷移动到只读分区有关。

这个问题早在6月10日就已经被提出了,我有点失望,在Catalina升级之前它没有得到解决。

有一个解决方案似乎可以在不丢失环境的情况下解决问题,请参见此链接:https://github.com/ContinuumIO/anaconda-issues/issues/10998#issuecomment-539215005

从链接中:

  1. 将位于Relocated Items中的anaconda3文件夹复制到/Users/myname/

  2. 打开终端

  3. 输入:export PATH='/Users/myname/anaconda3/bin:$PATH'

  4. 输入:conda init zsh


1
在按照移动anaconda3目录的步骤后,我发现jupyter notebook内核崩溃了。我不得不手动更改/Users/[myusername]/Library/Jupyter/kernels/python3/kernel.json中的启动器参数。 - C. Braun
4
这对我来说行不通,我在运行“conda init zsh”时仍然遇到“zsh:/Users/me/anaconda3/bin/conda:坏的解释器:/anaconda3/bin/python:没有那个文件或目录”的错误。 我还能做些什么吗? - Kyle Frye
3
我认为export命令需要使用双引号,如 export PATH="/Users/myname/anaconda3/bin:$PATH",否则$PATH将无法正确替换,导致所有旧的路径位置都会消失。 - codebox
4
针对Kyle遇到的问题,您需要将anaconda3/bin/conda文件中的第一行替换为#!/Users/<my_user>/anaconda3/bin/python。 - Talik
我尝试了所有的方法,但都没有成功。在尝试了这些方法之后,我直接输入了/Users/<我的用户名>/anaconda3/bin,并双击了activate文件。 - JOSE DANIEL FERNANDEZ
1
"导出路径="/Users/myname/anaconda3/bin:$PATH"" - krinker

10

Anaconda在其博客上发布了一篇关于该问题的博客文章。似乎有两个主要选项:

  1. 重新安装:目前仅适用于shell安装程序(如果您依赖GUI,则需要等待新的安装程序)。

  2. 修复(实验性):将允许您修复旧安装并保留所有旧环境。

您可以查看Anaconda网站以获取更多信息。


1
重新安装对我没有用!Jupyter无法打开!一个编辑器弹出。 - OverFlow Police
我使用命令行安装安装了Anaconda,遵循了此链接中说明的步骤。对我而言,这很有效。 - Kaymal
我也做了同样的事情,但它没有成功。 - OverFlow Police
1
我按照博客文章中的所有指示操作,结果成功了! - gaya

6

对我来说,现有的答案都不起作用,但是这个有效。

  1. Download anaconda's self-contained prefix replacement tool at https://repo.anaconda.com/pkgs/misc/cpr-exec/cpr-0.1.1-osx-64.exe and make it executable:

    curl -L https://repo.anaconda.com/pkgs/misc/cpr-exec/cpr-0.1.1-osx-64.exe -o cpr && chmod +x cpr
    
  2. Move your anaconda3 folder from Relocated Items to your home folder: ~/anaconda3.

  3. Fix your folder using the following command:

    ./cpr rehome ~/anaconda3
    
  4. Re-run conda init to fix your conda shell command:

    source ~/anaconda3/bin/activate
    
    conda init
    
如果您正在使用zsh,请用以下命令替换上一个命令:
conda init zsh

1
这对我也起作用了。这是Anaconda推荐的方法。https://www.anaconda.com/how-to-restore-anaconda-after-macos-catalina-update/ - Danny Meyer

3

如果您正在使用zsh,conda安装程序会在您的~/.bash_profile文件末尾添加一个conda初始化脚本。您应该将其复制并粘贴到您的~/.zshrc文件中。


3

复制anaconda3/ path to /Users/<my_user>/

然后执行export PATH='/Users/<my_user>/anaconda3/bin:$PATH'

编辑文件:

  • /Users/<my_user>/anaconda3/conda

将第一行修改为:

FROM #!//anaconda3/bin/python
TO  #!/Users/<my_user>/anaconda3/bin/python

保存更改到/Users/<my_user>/anaconda3/bin/conda init zsh

应该可以正常工作


2

现在 Anaconda 已经有了修复补丁。

自上一次发布以来的另一个关键变化是,苹果发布了 macOS 10.15 – Catalina。不幸的是,这个版本对于使用 pkg 安装程序的 Anaconda 先前版本来说是一个破坏性的更新。Anaconda Distribution 2019.10 安装程序解决了这些问题,并且应该能够在 macOS Catalina 上无须麻烦地安装。 如果您宁愿修复当前的 Anaconda 安装,请查看此博客文章获取提示。

https://www.anaconda.com/anaconda-distribution-2019-10/

  1. 首先删除旧版安装。
  2. 安装新的 2019.10+ 发行版。
  3. 打开终端/cmd,测试 conda -V 命令是否可用。
  4. 测试 jupyter notebook 命令是否可用。

我已经尝试过,一切都运行得非常完美,无需更改路径或其他任何操作。


2

使用此方法(不要使用双引号)

export PATH='/Users/myname/anaconda3/bin:$PATH'

1

我能够通过从Homebrew(https://brew.sh/)安装miniconda来解决这个问题。在安装Homebrew后,打开终端并输入以下内容:

brew cask install miniconda

一旦安装了miniconda,就可以通过终端访问conda命令,并且您可能还想运行conda update conda以确保环境中的软件包是一致的。

最后,您可能需要改变打开Anaconda工具(如Jupyter Notebook)的方法。这些工具可以通过带有前缀conda run ...的终端访问。

例如:

conda run jupyter notebook

将打开Jupyter Notebook,但命令如下:
jupyter notebook

可能无法正常工作。类似问题已在此帖子上提出。


谢谢您指出启动笔记本的新命令是 conda run jupyter notebook。这对我很有帮助。 - kavini

0

这些命令对我有效:

$ export PATH='/opt/anaconda2/bin:$PATH'
$ conda init zsh

0

我按照这篇文章的步骤操作成功了(我是用Python 3做的)。以下是步骤摘要:

  1. 将anaconda3文件夹从Relocated Items移动到您的主目录下
  2. 下载Anaconda3的命令行安装程序
  3. 使安装脚本可执行(chmod +x
  4. 使用-u选项运行安装程序,以升级现有的Anaconda安装:

    ./<name of anaconda installer> -u

  5. 将以下行添加到您的.bash_profile文件中:

    export PATH="/Users/<username>/anaconda3/bin:$PATH"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接