我的电脑上已经安装了蟒蛇,我想更新一下。在Navigator中,我可以看到有几个单独的包可以更新,但也有一个anaconda包,有时有版本号,有时说自定义。我该怎么做?
当前回答
我用的是Windows 10。以下更新了所有内容,并安装了一些新包,包括Python更新(对我来说是3.7.3)。
在shell中,尝试以下操作(请确保更改Anaconda 3 Data的安装位置)。更新所有内容都需要一些时间。
conda update --prefix X:\XXXXData\Anaconda3 anaconda
其他回答
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
那么它就有用了!
如果你有困难,例如从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
这是Anaconda官方文档的建议:
conda update conda
conda install anaconda=2021.11
您可以在这里找到当前和过去的版本代码。
该命令将更新到Anaconda元包的特定版本。
我觉得(与公认的答案相反),这是95%的Anaconda用户想要的:升级到Anaconda元包的最新版本(由Anaconda分销商组装和测试),忽略单个包的更新状态,这将由conda update发布——所有。
我还尝试使用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重置了我的基本环境,但不确定这是必要的。在任何情况下,当尝试这样做时,要意识到可能的后果!)
推荐文章
- VSCode——如何设置调试Python程序的工作目录
- 定义类型的区别。字典和字典?
- 如何做一个递归子文件夹搜索和返回文件在一个列表?
- Python请求发送参数数据
- 只用一次matplotlib图例标记
- 如何获得退出代码时使用Python子进程通信方法?
- 以编程方式将图像保存到Django ImageField中
- Java“虚拟机”vs. Python“解释器”的说法?
- 检查环境变量是否存在的良好实践是什么?
- 在安装eventlet时,命令“gcc”失败,退出状态为1
- 连接一个NumPy数组到另一个NumPy数组
- 如何在Python中使用自定义消息引发相同的异常?
- 如何转换逗号分隔的字符串列表在Python?
- 如何从Python字典中提取所有值?
- 如何使用Python发送电子邮件?