我尝试了conda search--outdated,其中有很多过时的软件包,例如scipy是0.17.1,但最新的是0.18.0。但是,当我这样做时conda update --all。它不会更新任何软件包。
更新1
conda update --all --alt-hint
Fetching package metadata .......
Solving package specifications: ..........
# All requested packages already installed.
# packages in environment at /home/user/opt/anaconda2:
#
更新2
我可以分别更新那些软件包。我能做conda update html" target="_blank">scipy。但是,为什么我不能一口气更新它们呢?
TL; DR: 依赖项冲突: 更新一个 要求 (根据要求) 以降级另一个
你是对的:
conda update --all
实际上是要走的路1。Conda始终尝试将软件包升级到该系列中的最新版本(例如Python 2.x或3.x)。
但是有可能存在依赖性冲突(这会阻止进一步升级)。如果发生,康达通常会非常明确地发出警告。
例如X要求Y <5.0,因此Y永远不会> = 5.0
这就是为什么您无法“全部”升级它们的原因。
要补充:也许它可以工作,但是conda中没有使用Y >
5.0的X的较新版本。可以使用pip进行安装,因为pip中提供了更多软件包。但是请注意,如果存在依赖冲突,则pip还会安装软件包,并且通常会破坏conda环境,因为您不能再可靠地使用conda进行安装。如果这样做,请在所有软件包都已安装conda之后作为最后的方法。这是一个hack。
您可以尝试的一种安全方法是在升级时将conda-forge作为渠道添加(-c conda- forge作为标志添加),或者 如果确实需要此新版本,则可以 找到包含软件包的任何其他渠道。这样,conda也会在此位置搜索可用的软件包。
考虑您的更新 :您 可以分别 升级它们,但是这样做不仅包括升级,还包括其他软件包的降级。说,添加到上面的示例中:
X> 2.0要求Y <5.0,X <2.0要求Y> 5.0
因此,将Y> 5.0升级意味着将X降级到<2.0,反之亦然。
( 当然,这是一个教学示例,但实际上是相同的,通常只是具有更复杂的依赖性和子依赖性 )
因此,您仍然无法通过单独进行升级 来全部
升级;依赖关系是无法令人满意的,因此早晚要进行升级,升级将再次降级已经升级的软件包。或者破坏软件包的兼容性(通常您不希望这样做!),这只能通过显式调用
ignore-dependencies 和 force -command来实现。但是,这仅仅是 破解 围绕问题的方式,绝对不是正常用户的情况下!
1如果您实际上要更新安装软件包,而通常 不这样做 。在基本环境中运行的命令将以此更新软件包,但是通常您应该使用虚拟环境(conda create -n myenv然后使用conda activate myenv)。执行conda update --all这样的环境里将更新包 内
这样的环境。但是,由于基本环境也是环境,因此答案以相同的方式适用于两种情况。
我有亲戚 并想在PostgreSQL中加入它 所以我得到了所有可能的替换组合(即替换或多或少的笛卡尔积)。所以组1没有更新,组2只有B2,组3只有D2,组4都有B2和D2。 结尾应该是这样的,但应该对更多人开放(就像D1的额外D3) 编辑: 另一个可能的替换表可以是 可能会导致6组(我希望我没有忘记一个案例) 如果你有三个替代品,比如 这将导致8组。到目前为止,我所尝试的并没有真正的帮助: 我很高
问题内容: 是否可以使用(编译为)创建Python2.7软件包?如果可以,怎么办?我没有运气让它工作。 这是我尝试过的: : from distutils.core import setup from distutils.extension import Extension from Cython.Distutils import build_ext foo = Extension(name=’f
问题内容: 我知道如何使用Anaconda安装软件包,以及如何安装PyPi上的软件包,如手册中所述。 但是,如何才能将软件包/文件夹永久包含在Anaconda环境中,以便可以导入当前正在使用的代码,并且在重新启动后仍然可用? 我当前的方法是使用: 这不是很方便。 有什么提示吗? 提前致谢! 问题答案: 我在Anaconda论坛中找到了两个问题的答案: 1.)将模块放入站点包中,即始终位于的目录中。
什么是红帽订阅管理 红帽订阅订阅管理提供了向服务器/计算机授权产品订阅的工具,让管理员能够获取软件包的更新,跟踪系统所用支持合同和订阅的相关信息。PackageKit 和 yum 等标准工具可以用来获取红帽提供的软件包和更新等内容。可以通过红帽订阅管理工具执行下列四项基本任务: 注册 - 注册系统,将该系统与某一红帽帐户关联。这可以让订阅管理器唯一地清查该系统。不再使用某一系统时,可以取消注册。
问题内容: 我想使用conda在当前的活动环境中安装“ rope”软件包。当前,以下“绳索”版本可用: 我想安装以下软件: 我已经尝试过各种“ conda install”的排列方式,因为它们都不正确,所以这里不再列出。 我也不确定 py35_0 是什么(我假设这是针对其构建软件包的python版本?),我也不知道’defaults’是什么意思? 问题答案: 没有适用于的版本。指包装。的最高可用版
我有相当多的包是过时的,我想更新。我尝试运行npm update:文档中所述的npm update,更新花了很长时间,最后失败了。我又尝试了几次,我将堆栈大小设置为无限,等等,但总是需要几个小时,最后失败了。 我尝试用--depth 999(不是9999)更新一个包,但也失败了。 是否有任何推荐的方法来更新所有有效的软件包? 然后我得到了一个堆超出的异常: 我将堆栈大小设置为无限,并降低了深度,但
问题内容: 如果我做 我可以看到所有可用的软件包。 我今天早上将其更新为最新版本,但是现在我需要恢复到以前的版本。我试过了 但这没用。如何指定要使用的版本? 问题答案: 我不得不改用该函数:
问题内容: 我在bash终端中有一个使用Intel Python Distribution解释器的环境。但是,在导入软件包时,它们是从看起来像系统默认Python的用户目录而非环境的目录中导入的。查看版本差异和包的来源。 使用环境时,不会发生这种情况。包(例如)是从正确的路径导入的: 相关部分(未在路径中显式设置anaconda): 分别为和环境产生这些s : 在我 不 希望进口在这里,所在的位置