我的电脑上已经安装了蟒蛇,我想更新一下。在Navigator中,我可以看到有几个单独的包可以更新,但也有一个anaconda包,有时有版本号,有时说自定义。我该怎么做?
当前回答
如果你有困难,例如从3.3。X到4。X (conda更新conda“不工作”以获得下一个版本)而不是尝试更具体的方法,如下所示:
conda install conda=4.0 (or conda install anaconda=4.0)
https://www.anaconda.com/blog/developer-blog/anaconda-4-release/
您应该知道您在做什么,因为强制安装可能会导致conda崩溃。 如果你想获得更多的灵活性/安全性,你可以使用像nix(-pkgs) [with nix-shell] / NixOS这样的pkg-manager。
其他回答
Root是主环境的旧名称(conda 4.4之前);在conda 4.4之后,它被重命名为base。源
95%的人真正想要的
在大多数情况下,当你说你想要更新Anaconda时,你想做的是执行以下命令:
conda update --all
(但是在此之前应该加上conda update -n base conda或conda update conda,这样你就安装了最新的conda版本)
这将把当前环境中的所有包更新到最新版本——有一个小字体,它可能会使用一些包的旧版本,以满足依赖约束(通常这是不必要的,当有必要时,包计划求解器将尽最大努力减少影响)。
这需要从命令行执行,最好的方法是从Anaconda Navigator,然后是“环境”选项卡,然后点击基础环境旁边的三角形,选择“打开终端”:
此操作将只更新一个选定的环境(在本例中为基本环境)。如果您有其他想要更新的环境,您可以重复上述过程,但首先单击该环境。当它被选中时,右边有一个三角形标记(见上图,步骤3)。或者从命令行中,你可以提供环境名称(-n envname)或路径(-p /path/to/env),例如从上面的截图更新你的dspyr环境:
conda update -n dspyr --all
更新单个包
如果你只对更新单个包感兴趣,那么只需单击Navigator中的蓝色箭头或蓝色版本号,例如上图截图中的星状线或星状线,这将标记这些包进行升级。当你完成后,你需要点击“应用”按钮:
或者从命令行:
conda update astroid astropy
仅更新标准Anaconda发行版中的包
如果您不关心包的版本,只想要“标准Anaconda发行版中所有包的最新集,只要它们一起工作”,那么您应该看看这个要点。
为什么更新Anaconda包几乎总是一个坏主意
在大多数情况下,更新包列表中的Anaconda包会有一个令人惊讶的结果:您实际上可能会降级许多包(事实上,如果它指示版本为自定义,则很可能会降级)。上面的要点提供了细节。
利用conda环境
您的基本环境可能不适合尝试和管理确切的包集:它将是一个动态的工作空间,其中安装了新包,并随机更新包。如果您需要一组确切的包,那么创建一个conda环境来保存它们。多亏了conda包缓存和使用文件链接的方式,做到这一点通常是i)快速和ii)消耗很少的额外磁盘空间。如。
conda create -n myspecialenv -c bioconda -c conda-forge python=3.5 pandas beautifulsoup seaborn nltk
conda文档有更多细节和示例。
pip, PyPI和setuptools?
这些都不会帮助更新已经通过pip从PyPI安装的包或任何使用python setup.py install安装的包。conda list会给你一些关于环境中基于pip的Python包的提示,但它不会做任何特殊的事情来更新它们。
水蟒或水蟒企业的商业用途
这几乎是完全相同的故事,除了你可能无法更新基础环境,如果它是由其他人安装的(比如/opt/anaconda/latest)。如果你不能更新你正在使用的环境,你应该能够克隆,然后更新:
conda create -n myenv --clone base
conda update -n myenv --all
Use:
conda create -n py37 -c anaconda anaconda=5.3.1
conda env export -n py37 --file env.yaml
定位环境。在C:\Windows\System32目录下运行yaml文件,以管理员身份运行cmd:
conda env update -n root -f env.yaml
那么它就有用了!
在Mac上,打开终端,执行以下两个命令。
conda update conda
conda update anaconda
确保多次运行每个命令以更新到当前版本。
以下是最佳实践(根据我的个人经验)。选择这四个包还会将所有其他依赖项更新到适当的版本,这将帮助您保持环境的一致性。后者是其他人在早先的答复中表示的一个普遍问题。这个解决方案不需要终端。
我还尝试使用conda install -n base anaconda=2022.10更新anaconda,但这导致冲突,表明我的python版本太低(3.6)。
我最终设法更新使用以下命令:
conda install -n base anaconda=2022.10 python=3.8
最新的anaconda版本代码可以在发布说明中找到。
(在此期间,我还使用conda install—rev 0重置了我的基本环境,但不确定这是必要的。在任何情况下,当尝试这样做时,要意识到可能的后果!)
推荐文章
- 每n秒运行特定代码
- SQLAlchemy是否有与Django的get_or_create等价的函数?
- 如何将python datetime转换为字符串,具有可读格式的日期?
- 美丽的汤和提取div及其内容的ID
- 在Python中重置生成器对象
- 用Python构建最小的插件架构
- model.eval()在pytorch中做什么?
- Tensorflow 2.0:模块“Tensorflow”没有属性“Session”
- 从环境文件中读入环境变量
- 在OSX 10.11中安装Scrapy时,“OSError: [Errno 1]操作不允许”(El Capitan)(系统完整性保护)
- 如何删除熊猫数据帧的最后一行数据
- 我如何在熊猫中找到数字列?
- 检查pandas数据框架索引中是否存在值
- 计算熊猫数量的最有效方法是什么?
- 如何在python中验证日期字符串格式?