升级到macOS Catalina后找不到Conda


20

我刚刚将MacBook更新为Catalina。更新后,zsh找不到了。实际上,在我的.zshrc中,我有:

export PATH=/anaconda3/bin:$PATH

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


苹果公司正在攻击开源,尤其是机器学习和数据科学用户。似乎有一个即将推出的解决方案...但是到目前为止,您仍然受制于下面的hack。
linhares

Answers:


27

您可以在桌面上名为“ Relocated Items”的快捷链接中找到整个anaconda3环境。似乎升级到Catalina不允许将Conda环境安装在用户目录下,该目录现在可能与将新系统卷移至只读分区有关。

这个问题可以追溯到6月10日,但令我有些失望的是,在Catalina升级到来之前,它并没有得到解决。

有一种解决方案似乎可以在不失去环境的情况下正常工作,请参见以下链接:https : //github.com/ContinuumIO/anaconda-issues/issues/10998#issuecomment-539215005

从链接:

  1. 将位于“重定位项”中的文件夹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

3
这对我不起作用,zsh: /Users/me/anaconda3/bin/conda: bad interpreter: /anaconda3/bin/python: no such file or directory运行时仍然出现错误conda init zsh。我还能做些什么吗?
凯尔·弗莱

我认为export命令需要双引号,export PATH="/Users/myname/anaconda3/bin:$PATH"否则否则$PATH将无法正确替换,并且所有旧路径位置都将消失
Codebox

3
对于Kyle遇到的问题,您必须将anaconda3 / bin / conda文件中的第一行替换为#!/ Users / <my_user> / anaconda3 / bin / python
Talik

我尝试了所有这些,但是没有用。尝试此操作后,我从字面上输入了/ Users / <我的用户名> / anaconda3 / bin并双击了激活文件
JOSE DANIEL FERNANDEZ

8

Anaconda已发布有关此问题的博客文章。似乎有两个主要选择:

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

  2. 维修(实验性):可让您修复旧安装并保留所有旧环境

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


1
重新安装对我不起作用!jupyter无法打开!弹出一个编辑器
OverFlow警察

我按照此链接中说明的步骤,使用命令行安装程序安装了Anaconda 。它为我工作。
凯玛尔

我也一样。它没。
OverFlow警察

1
我遵循了博客文章中的所有指示,它对我有用!
加亚

3

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


2

现有的答案都没有对我有用,但是这个答案可以。

  1. 在以下网址下载anaconda的自包含前缀替换工具:https//repo.anaconda.com/pkgs/misc/cpr-exec/cpr-0.1.1-osx-64.exe并使它可执行:

    curl -L https://repo.anaconda.com/pkgs/misc/cpr-exec/cpr-0.1.1-osx-64.exe -o cpr && chmod +x cpr
    
  2. anaconda3文件夹从“重定位的项目”移动到主文件夹:〜/ anaconda3。

  3. 使用以下命令修复文件夹:

    ./cpr rehome ~/anaconda3
    
  4. 重新运行conda init以修复您的conda shell命令:

    source ~/anaconda3/bin/activate
    
    conda init
    

如果使用的是zsh,请将最后一个命令替换为:

conda init zsh

1
这也为我工作。这是Anaconda推荐的方法。anaconda.com/...
丹尼·迈耶

2

现在有蟒蛇修复程序。

自上次发行以来的另一个关键变化是苹果发布了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

一切对我来说都很完美,无需更改路径或任何内容。


1

使用这个(不要使用双“”)

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

1

复制 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

应该管用


0

通过从Homebrew(https://brew.sh/)安装miniconda,我能够解决此问题。安装Homebrew后,在Terminal中键入以下内容:

brew cask install miniconda

一旦安装了miniconda,便可以通过Terminal访问conda命令,并且您可能还需要运行conda update conda以确保环境中的软件包一致。

最后,您可能必须更改打开Anaconda工具(如Jupyter Notebook)的方法。可以通过带有前缀的终端访问此类工具conda run ...

例如:

conda run jupyter notebook

将打开Jupyter Notebook,但命令

jupyter notebook

可能不起作用。在这个帖子上也提出了类似的问题。


感谢您指出启动笔记本的新命令是conda run jupyter notebook。对我来说就做到了。
卡维尼


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"


0

我通过命令模式成功安装了anaconda,但仍未运行。

因此,conda已安装但未激活。

我要解决的步骤:

  1. 重新启动电脑
  2. 源〜/ anaconda / bin / activate

(在终端中;激活需要成功运行)

  1. 初始化

(需要运行而没有任何错误)

  1. 康达配置--set auto_activate_base True

(这将自动激活conda以运行conda)

  1. 如果您不想自动激活,请给参数“ False”而不是“ True”。每次运行conda之前,您都必须执行“ conda init”

这也解决了另一个问题-我的间谍没有从导航器运行。现在运行良好。

如果它不起作用,请告诉我。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.