在 Conda 环境中,如何升级通过 pip 安装的包?

3
我使用AWS SageMaker进行机器学习软件开发。在SageMaker中,有几个conda环境可供选择。我需要升级一些在conda环境中使用pip安装的软件包。根据我的研究,pip和conda不兼容。那么,升级这些pip安装的软件包的最佳方法是什么?
例如,下面的图像显示了一个conda_tensorflow_p36环境和keras软件包是通过pip安装的。我想将keras软件包升级到当前版本。我该怎么做?

Screenshot showing pip keras and conda keras are incompatible


1
你不能使用 conda 来升级 pip 包。你尝试过直接使用 pip 吗?例如:pip install keras --upgrade - iz_
谢谢提供链接。这些是AWS SageMaker conda环境中预安装的软件包。我也在想同样的问题。 - David293836
也许值得尝试启用Pip互操作性。这是一个相对较新的功能(仍被视为实验性),但它有可能使Conda能够处理升级Pip安装包当通过Conda有更新版本可用时 - merv
对于charlesreid1,添加新软件包是正确的。换句话说,在安装新软件包时,SageMaker 更喜欢使用 conda。然而,预定义的conda环境中现有的软件包使用混合的conda和pip组合。尝试打开终端并激活虚拟环境。然后执行“conda list”。 - David293836
对于 merv 来说,这适用于 conda V4.6。SageMaker 的 conda 是 4.5.12。在我看来,在 SageMaker 上做这件事还为时过早。这可能适用于实验或研究,但对于部署软件来说,风险太大了。 - David293836
显示剩余3条评论
1个回答

1

在升级时,您需要指定要使用的conda环境的名称,因此将您的conda upgrade keras命令更改为:

conda upgrade -n conda_tensorflow_p36 keras

编辑: 或者,SageMaker的安装外部库和内核文档页面提供了一个示例脚本,该脚本从笔记本下载/安装了一个全新版本/实例的miniconda。然后,您可以将任何需要的软件包(包括keras)安装到该miniconda实例中,而不受SageMaker提供版本的影响。


谢谢。但是这不起作用。我收到了类似的错误消息。 - David293836
你提到你想要升级你的Keras版本。链接的建议是在外部的conda发行版中安装一个最新版本的Keras作为一个外部库。 - charlesreid1
谢谢。Keras是AWS SageMaker中安装的pip包的一个示例。AWS SM中有许多类似的包。我认为我应该使用pip来升级每个包,而不是使用conda来安装/升级这些pip安装的包。从我目前所了解的情况来看,使用conda来安装和升级已经安装的pip包会产生问题。然而,如果我在conda环境中使用pip来升级这些pip安装的包,可能会出现什么样的问题? - David293836
这里有任何解决方案吗,@David293836?我在使用fuzzywuzzy时遇到了相同的问题。 - nerdlyfe
1
@ElChapo 这里没有解决方案。我决定不使用SageMaker,因为我需要能够管理软件包。没有SageMaker更容易实现。 - David293836
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接