使用 Conda 批量更新包
Posted
技术标签:
【中文标题】使用 Conda 批量更新包【英文标题】:Bulk package updates using Conda 【发布时间】:2014-09-17 11:47:36 【问题描述】:有没有办法(使用 conda 更新)我可以列出过时的包并在 Anaconda 中选择或批量更新(兼容)包?
单独更新软件包没有多大意义,因为它们有数百个。
【问题讨论】:
【参考方案1】:# list packages that can be updated
conda search --outdated
# update all packages prompted(by asking the user yes/no)
conda update --all
# update all packages unprompted
conda update --all -y
【讨论】:
【参考方案2】:在您继续执行conda update --all
命令之前,如果您很长时间没有更新 conda,请先使用conda update conda
命令更新它。它发生在我身上(Anaconda 64 位上的 Python 2.7.13)。
【讨论】:
64 位,你是说? 至少,作为评论可能比作为答案更有意义。 “发生在我身上”,发生了什么在你身上?【参考方案3】:Conda 包管理器几乎已准备好进行 beta 测试,但在 Spyder 2.4 (https://github.com/spyder-ide/spyder/wiki/Roadmap) 发布之前不会完全集成。一旦我们准备好进行测试,我们将在邮件列表 (https://groups.google.com/forum/#!forum/spyderlib) 上发布一些内容。请务必订阅
干杯!
【讨论】:
这个答案如何回答问题?【参考方案4】:你想要conda update --all
。
conda search --outdated
将显示过时的包,conda update --all
将更新它们(请注意,后者不会将您从 Python 2 更新到 Python 3,但如果您使用 Python 2,前者会显示 Python 已过时) .
【讨论】:
感谢您的回答。我使用python 2。是否可以过滤特定安装版本(py27_0)的过时版本?conda update all
是否只更新我的 py27 环境的兼容版本?
是的,conda update --all
只会安装相互兼容的包,它不会将您从 Python 2 更新到 Python 3。
conda search --outdated
向您显示每个已安装和过时的软件包的所有可用版本,在很多情况下这有点太多了已安装并提示确认:您回复 N
并且您有一个过时软件包的紧凑列表。
conda update --all
与 conda search --outdated
的不同之处还在于它通过求解器运行,这意味着如果其他包具有依赖关系限制(或者,例如,@987654332 @ 不会从 Python 2.7 更新到 Python 3.4)。
我刚刚找到 this blog,作者 Jake VanderPlas 对 Anaconda 和 conda
进行了一些术语解释。它回答了我的许多问题。以上是关于使用 Conda 批量更新包的主要内容,如果未能解决你的问题,请参考以下文章
CosmosDB - Mongodb IsUpsert 不适用于批量更新