更新Anaconda和Conda基础环境的正确方法是什么?

37 浏览
0 Comments

更新Anaconda和Conda基础环境的正确方法是什么?

请问什么是更新Anaconda、Conda安装和虚拟环境的正确方法?以下是我逐步混淆的过程:

  1. 当我运行命令conda update anaconda时,它会更新/降级许多软件包。
  2. 然后我运行conda update conda,它再次更新/降级一些软件包。
  3. 接下来,我运行conda update --update-all,它开始降级/升级不同的软件包。
  4. 最后,为了确保一切都更新了,我再次运行conda update anaconda。我期望看到类似一切都是最新的的消息,但令我惊讶的是它又显示了一个巨大的需要再次更新/降级的软件包列表?

    我在这里做错了什么?对我来说,这些命令似乎让我陷入了一个循环。请帮忙解答一下?

0
0 Comments

问题的原因是Anaconda Navigator中没有一键更新所有可更新的包,需要手动逐个选择每个包进行更新。解决方法是从命令行指定环境进行更新,与在Navigator中更新一样简单。

Anaconda Navigator是Anaconda已经内置的一个图形用户界面(GUI),非常适合管理、安装、更新和删除所有依赖包。它还可以在远程集群/服务器上通过X11进行操作。但是,使用Navigator进行更新时,不能一次选择所有可更新的包,而是需要逐个手动选择。

如果想要一键更新所有可更新的包,可以通过命令行进行操作。只需从命令行指定要更新的环境,就可以像使用Navigator一样轻松进行更新。

请注意,命令行更新时需要使用Conda命令。通过运行"conda update --all"命令,可以一次性更新所有可更新的包。这样就不需要在Navigator中手动选择每个包进行更新了。

总之,问题的解决方法是使用命令行运行"conda update --all"命令来一键更新所有可更新的包。这种方法与使用Anaconda Navigator更新的操作相同,但更加快捷和高效。

希望这篇文章对你有帮助!

0
0 Comments

如何更新Anaconda和Conda基础环境以及环境的正确方法?

当我们需要更新Anaconda时,可能会遇到以下问题:在Navigator中,我们可以看到有多个可以更新的单个软件包,还有一个Anaconda软件包,有时候会显示版本号,有时候显示为custom。那么我们应该如何更新呢?

首先,我们需要明确大多数人在更新Anaconda时实际上想要做什么。大多数情况下,当我们说要更新Anaconda时,我们想要执行以下命令:conda update --all 这将会更新当前环境中的所有软件包至最新版本。需要注意的是,为了满足依赖关系,可能会使用某些软件包的旧版本(通常情况下不需要,当需要时,软件包计划求解器将尽力减少影响)。

这个命令需要在命令行中执行,最好的方式是从Anaconda Navigator进入到"Environments"标签,然后点击根环境旁边的三角形,选择"Open Terminal"。这个操作将只会更新选定的环境(在这个例子中,是根环境)。如果你有其他环境需要更新,可以重复上述过程,但是首先点击该环境。当环境被选中时,右侧会有一个三角形标记(参见上面的图像,第3步)。或者,从命令行中,你可以提供环境名称(-n envname)或路径(-p /path/to/env)。例如,要更新上面截图中的dspyr环境:conda update -n dspyr --all

如果你只对更新单个软件包感兴趣,那么只需要在Navigator中点击蓝色箭头或蓝色版本号,例如上面的astroid或astropy,并且这将会把这些软件包标记为需要升级。完成后,需要点击"Apply"按钮。或者从命令行中执行:conda update astroid astropy

如果你不关心软件包的版本,只想要"标准Anaconda发布中所有软件包的最新版本,只要它们能够一起正常工作",那么你可以参考上面提供的链接。

更新Anaconda软件包几乎总是一个坏主意。大多数情况下,在软件包列表中更新Anaconda软件包将会导致一些令人惊讶的结果,你可能会降级许多软件包(实际上,如果它显示版本为custom,这是很可能发生的)。上面提供的链接中提供了更多详细信息。

你的根环境可能不是管理一组精确软件包的好地方,它将是一个动态的工作空间,新软件包安装和随机更新。如果你需要一组精确的软件包,可以创建一个conda环境来保存它们。由于conda软件包缓存和文件链接的使用方式,这通常是快速且占用非常少的额外磁盘空间的。例如:conda create -n myspecialenv -c bioconda -c conda-forge python=3.5 pandas beautifulsoup seaborn nltk conda文档中有更多详细信息和示例。

以上方法都无法更新通过pip从PyPI安装的软件包,或者使用python setup.py install安装的任何软件包。conda list命令可以提供一些关于在环境中使用pip安装的Python软件包的提示,但它不会对它们进行特殊的更新。

对于商业使用的Anaconda或Anaconda Enterprise,情况基本相同,唯一的区别是如果根环境是由其他人安装的(例如安装在/opt/anaconda/latest),则可能无法更新根环境。如果无法更新正在使用的环境,可以克隆该环境,然后进行更新。

这篇文章提供了一些建议,即Anaconda团队更倾向于使用命令行语句进行更新,而Navigator只适用于单个软件包。这可能是有意为之,Anaconda团队希望你使用命令行语句,这可能是为了确保更新者真正知道自己在做什么。

总之,以上方法提供了更新Anaconda和Conda基础环境以及环境的正确方式。

0
0 Comments

正确更新Anaconda和Conda基础环境的方法是不同的。首先,更新Anaconda是为了获取已经经过测试的、可相互兼容的软件包版本。而更新所有软件包则是为了获取最新版本的软件包,但这些版本可能没有经过全面测试。

更新Anaconda的方法是运行conda update anaconda命令。Anaconda发行版每隔几个月才会发布一个新版本,因为发布新版本需要进行大量的测试来确保软件包的兼容性。因此,如果希望使用经过测试的稳定软件包集合,可以运行conda update anaconda命令。

而更新所有软件包的方法是运行conda update --all命令。在Anaconda发行版之间,许多软件包的新版本仍然会在Anaconda渠道上发布。通过运行conda update --all命令,可以获取最新的软件包版本。然而,这些软件包版本可能没有经过充分的集成测试。

需要注意的是,那些更注重使用最新软件包版本的人似乎更喜欢使用Conda Forge渠道,因为它通常有更频繁的软件包发布。然而,如果打算将大部分软件包切换到Conda Forge渠道,那么安装Anaconda几乎没有意义。相反,可以安装Miniconda,并在初始阶段只从Conda Forge渠道安装所需的软件包。

个人而言,在确定项目的需求后,我很少在环境上运行conda update命令。每次更新环境时,都有可能破坏已经编写的代码。相反,Conda提供了创建新环境的便利方法,如果不同环境之间有很多重叠,那么由于通过硬链接共享软件包,环境可以变得非常轻量化。

最后,需要定期更新的是conda包,这是用于管理软件包和环境的基础设施。与其他软件包管理器(如pip或homebrew)类似,应该像更新其他软件包一样更新conda包。

总之,根据需求和风险考量,更新Anaconda和Conda基础环境的方法有所不同。更新Anaconda可获得经过测试的稳定软件包版本,而更新所有软件包可获得最新的软件包版本,但可能没有经过全面测试。个人建议是在确定项目需求后尽量避免频繁更新环境,而是通过创建新环境来管理软件包的版本。

0