【问题标题】:Reinstalling Anaconda: import old environments重新安装 Anaconda:导入旧环境
【发布时间】:2020-06-05 21:20:24
【问题描述】:

由于 macOS Catalina 的问题,我不得不重新安装 Anaconda:how-to-restore-anaconda-after-macos-catalina-update

如何将旧环境导入新安装的 Anaconda-Navigator? (我还没有卸载旧的 Anaconda)

【问题讨论】:

    标签: python anaconda


    【解决方案1】:

    问题是 Anaconda 以前默认安装在根目录文件夹/anaconda3/ 中。 Catalina 不再接受这样的根目录文件夹。在 Catalina 的安装过程中,它把 Anaconda 文件夹移动到了/Users/Shared/Relocated Items/Security/anaconda3。旧的虚拟环境仍然存在,在 /Users/Shared/Relocated Items/Security/anaconda3/envs/ 文件夹下。

    The Anaconda Team says这个问题不是那么容易解决的,建议两种方法:要么重新安装Anaconda,要么尝试修复安装。您可以在该链接中找到他们的维修说明。

    如果您像我一样重新安装,那么仍然没有简单的方法可以恢复您的旧环境。虽然 Anaconda 具有很好的导出环境的功能,以便您可以在其他地方恢复它们,但此功能要求您可以激活要导出的环境 - 对于移动到 Relocated Items 文件夹的旧安装,我们无法在此处执行此操作。尽管如此,我还是找到了让它发挥作用的方法。

    如果您进入旧安装的.../anaconda3/envs/ 文件夹,您可以看到所有旧环境。如果您只是将其中一个复制到/Users/your_user/opt/anaconda3/envs/ 的新安装中,您将能够在终端中将其激活为

    conda activate your_env
    

    这并不意味着您可以真正使用这些环境。尝试启动 Python 解释器这样简单的操作都会失败,因为它不再安装在环境期望的位置。但是,您现在可以将环境导出为

    conda env export > your_env.yml
    

    这将允许您在新的 Anaconda 安装中重新安装环境,使其与旧安装中的环境匹配。您可以通过删除环境并从您刚刚导出的 your_env.yml 文件重新创建它来做到这一点:

    conda deactivate
    conda remove -n your_env --all
    conda env create -f your_env.yml
    

    如果一切正常,这应该会使您的旧环境再次可用。然后,您只需对要恢复的每个环境执行相同的操作即可。

    【讨论】:

    • 我可以将一个 env 文件夹复制到一个新的 anaconda3 目录,如果它的目录路径与旧目录完全相同?我将旧的 ~/anaconda3 重命名为 ~/anaconda3bk 并安装了 ~/anaconda3。现在,我可以简单地将 ~/anaconda3bk/envs/my_env 移动到 ~/anaconda3/envs/my_env 并期望它像以前一样工作吗?
    • @JordanHe:在我的情况下它不起作用,但在你的具体情况下,我认为它可能。当您移动 Anaconda 文件夹并在原来的位置创建一个新文件夹时,仍然会有 Python 二进制文件在旧环境所期望的位置。
    猜你喜欢
    • 2019-12-23
    • 1970-01-01
    • 2018-03-17
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 2020-10-18
    • 2018-11-14
    • 2021-10-15
    相关资源
    最近更新 更多