用 conda-forge 包替换 pip 包的简单方法

use*_*486 6 python pip python-3.x anaconda conda

我在 Windows 10 上使用 anaconda 64 位 python v3.6 已经有一段时间了,但最近才发现 conda-forge。我发现我使用 pip 安装的许多 python 包实际上在 conda-forge 上可用。

我想用 conda-forge 包替换 pip 包。我一直在手动执行此操作,但这太乏味了,因为它们有很多 pip 包。有没有一种简单的方法可以通过单个命令行自动将 pip 包替换为 conda-forge 包?我愿意使用任何其他方便的方法,而不是手动执行。

One*_*Day 2

除了一些 bash hack之外,没有惯用的方法可以解决这个问题:

\n\n

一个问题是 conda 的存储库可能不那么全面,并且没有涵盖所有版​​本。假设所有版本都可以工作,这是一个简单的脚本:

\n\n
conda install $(pip freeze | sed 's/==/=/g')\n
Run Code Online (Sandbox Code Playgroud)\n\n

因为pip需要同时==固定版本,所以简单conda=sed输入正确的格式即可

\n\n

如果它不起作用,那么你必须采用风险更大的方法:

\n\n
(sandbox) \xe2\x9d\xaf for pkg in $(pip freeze | sed 's/==/=/g'); do conda install -y $pkg; done\n
Run Code Online (Sandbox Code Playgroud)\n\n

我什至制作了一个沙箱 conda 环境,以防我搞砸了我的 python。这将安装您拥有的任何内容pip,如果失败(即 conda 存储库中不存在相应版本),那么它会默默地继续安装下一个软件包。

\n\n

请注意,这是非常危险的,您一定要检查一下安装了什么以及之后没有安装什么。

\n