使用pip和conda实现一致性的最佳做法

时间:2018-03-07 18:04:40

标签: pip anaconda conda

我知道pipconda的共存和互换性/不可互换性存在很多问题。这不是我的问题:我知道我的工作需要两者,我同时使用两者,而且在大多数情况下,我的conda envs是一个易于管理的混乱。

但事情就是这样:有很多方法可以安装pip。我碰巧先行conda,所以pip通过anaconda/bin/pip。它是我机器上唯一的pip。以下是我的问题:

  1. 这是明智的吗?我希望我的pip成为usr/bin/pip并独立于全球conda吗?感觉不合理。
  2. 如果我通过说pipbrew安装新的easy_install,我是否应该开始通过这个新pip下载软件包?那会是可怕的,搞砸了一切吗?
  3. 谢谢!

1 个答案:

答案 0 :(得分:3)

Pip始终需要安装Python版本,并与特定的Python安装相关联。默认情况下,pip将其自己的Python的软件包安装到Python库目录中的相关site-packages目录中。此目录的确切位置取决于您的操作系统以及如何安装conda。

如果你通过Homebrew或其他Python安装来安装pip,你不应该使用那个pip并期望它为conda安装。就此而言,如果您创建一个新的conda环境,则不应期望该环境中的pip将软件包安装到另一个环境中。

pip有--user选项,它会将软件包安装到您的用户帐户的目录中(在* nix系统上,这是~/.local;我无法回想起Windows所在的位置) 。所有具有相同主要版本号和次要版本号的Python版本都可以找到这些包。但是,不建议安装包,以便以这种方式在几个Pythons之间共享它们,因为如果使用不同的编译器编译不同的Pythons,则可能会遇到麻烦。