在同一环境中使用conda和pip install是一个坏主意吗?

时间:2019-05-14 16:10:56

标签: python pip virtualenv conda

我很好奇。

由于conda安装和pip安装在许多情况下本质上是相同的,因此最佳选择是什么?是否存在某人只应坚持pip install的情况?对称,是否存在只应坚持使用conda安装的情况?通过在单个环境中同时使用conda和pip安装,有什么方法可以一次拍摄?

更新:如果两种方法本质上是相同的,并且彼此不矛盾,则没有理由只坚持其中一种而不是另一种。

3 个答案:

答案 0 :(得分:2)

确实取决于您环境的复杂性。 对一些简单的软件包使用pip应该不会产生任何问题。 使用更多的pip安装会引发一个问题:“那为什么不使用pip venv?”

如果您不做任何重要的事情,则可能可以同时安装pip和conda。

这里有一个广泛的解释,为什么在这里https://www.anaconda.com/using-pip-in-a-conda-environment/

混合它们可能不是一个好主意

答案 1 :(得分:0)

是的,我认为是。导致冲突,大多数时候会使包装制动。如果不需要,请不要使用它。

答案 2 :(得分:0)

请勿在conda环境中混合使用conda installpip install。大概一次决定使用condavirtualenv+pip。这是您如何确定最适合您的一个:

  • Conda在conda环境中安装了多种(不仅是python)采用conda的软件包。如果您喜欢环境,它可以使您的环境正确。
  • Pip在python环境中安装python软件包(virtualenv是其中之一)。它会正确安装您的python软件包。

使用conda的安全方法:不要急于使用最新的东西,并坚持使用可用的软件包,就可以了。

使用pip + virtualenv的安全方法::如果您遇到依赖关系问题,或者希望在打包后删除并清理-请勿。只需烧毁房屋,放弃旧环境并创建新环境即可。一个命令行和2-5分钟后,一切都会变得井井有条。

Pip是安装这两个软件包中最好的工具。由于pip包通常先出现,然后才被conda(由conda员工或贡献者)采用。可能是,在更新或安装了最新版本的python之后,某些软件包只能通过pip获得。而最新的软件包最新版本只能以pip的形式获得。并将can be a nightmare和pip和conda软件包混合在一起(至少如果您想利用conda的优势)。

在管理依赖项和复制环境方面,

Conda是最好的。卸载软件包时,conda可以自行清理,并且可以更好地控制冲突的依赖版本。另外,conda可以导出环境配置,如果当前的行星正确,并且新机器相差不大,则可以将该环境复制到其他位置。另外,conda可以对环境进行更大的控制,例如可以在其中安装不同版本的python(virtualenv-仅系统中可用的python)。当您没有选择使用任何内容的自由时,始终可以create a conda package

一些相关事实:

  • Conda需要更多的空间和时间来设置
  • 如果您没有系统管理员权限,Conda可能会更好
  • 当您没有系统python时,Conda将提供帮助
  • virtualenv + pip将使您摆脱对此类细节的了解

一些过时的概念:

  • 在过去(2012ish),Conda曾经对新手开发人员来说更好。不再存在可用性差距
  • Conda与Continuum Analytics的链接过多。现在Conda本身是开源的,软件包-不多。