在许多情况下,可以使用
conda install
或 pip install
安装软件包。在某些情况下,在相同环境中最好坚持仅使用 pip install
或仅使用 conda install
?在单一环境中同时使用 conda install
和 pip install
会导致问题吗?
请勿在 conda 环境中混合
conda install
和 pip install
。也许,决定一劳永逸地使用 conda
或 virtualenv+pip
。以下是您如何决定哪一个最适合您的方法:
使用 conda 的安全方法: 不要急于获取最新的东西,坚持使用可用的软件包,你就会没事的。
使用 pip+virtualenv 的安全方法:如果您看到依赖项问题或希望在打包后删除并清理 - 不要这样做。只要烧毁房子,放弃旧的环境并创建一个新的环境即可。一个命令行,2-5 分钟后,一切都会恢复正常。
Pip 是两者中安装 Python 包最好的工具。由于 pip 包通常首先出现,然后才被 conda 采用(由 conda 工作人员或贡献者)。有可能,在更新或安装最新版本的 Python 后,某些软件包只能通过 pip 获得。并且最新版本的软件包只能在 pip 中提供。将 pip 和 conda 包混合在一起可能是一场噩梦(至少如果你想利用 conda 的优势)。
Conda 在管理依赖项和复制环境方面是最好的。卸载软件包时,conda 可以自行正确清理,并更好地控制冲突的依赖版本。此外,conda 可以导出环境配置,如果当前行星正确并且新机器没有太大不同,则可以在其他地方复制该环境。此外,conda 可以对环境有更大的控制,例如可以在其中安装不同版本的 Python(virtualenv - 仅系统中可用的 Python)。当您无法自由选择使用什么时,您始终可以创建 conda 包。
一些相关事实:
一些过时的观念:
实际上取决于您环境的复杂性。
对一些简单的包使用 pip 不会产生任何问题。 使用更多的 pip 安装会引发一个问题“为什么不使用 pip venv?”。
如果您不做任何重大事情,您也许可以混合使用 pip 和 conda 安装。
这里有一个广泛的解释为什么混合它们可能是一个坏主意:在 Conda 环境中使用 Pip 。