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

Best practices with pip and conda for consistency

我知道有很多关于 pipconda 的共存和 interchangeability/non-interchangeability 的问题。这不是我的问题:我知道我的工作需要两者,我都使用两者,而且在大多数情况下,我的 conda envs 是一个可以管理的混乱。

但问题是:安装方法有很多种 pip。我碰巧 conda 先走了,所以我的 pip 通过了 anaconda/bin/pip。它是我机器上唯一的 pip。这是我的问题:

  1. 这合理吗?我是否希望我的 pip 成为 usr/bin/pip 并独立于全局 conda?感觉不太懂。
  2. 如果我通过 breweasy_install 安装新的 pip,我应该通过这个新的 pip 开始下载软件包吗?那会不会很糟糕,把一切都搞砸了?

谢谢!

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

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

pip 有一个 --user 选项,它将软件包安装到您用户帐户的目录中(在 *nix 系统上,这是 ~/.local;我记不起 Windows 这是哪里)。所有具有相同主次版本号的 Python 版本都可以找到这些软件包。但是,不建议以这种方式在多个 Python 之间共享它们来安装包,因为如果不同的 Python 是用不同的编译器编译的,您可能 运行麻烦了。