我是否需要为每个新环境配置 Conda 和 pip 之间的互操作性?



从 Conda 4.6 开始,可以将 Conda 配置为使用 pip (https://www.anaconda.com/conda-4-6-release/( 直接安装 PyPi 软件包。具体来说,您需要通过conda config --set pip_interop_enabled True手动启用它

我不知道如何检查 Conda 的现有配置,所以我无法判断此设置是否跨环境全局存在,或者我是否需要在每次创建新环境时手动启用它。有什么想法吗?

到目前为止,我几乎没有看到有人提到这个功能,考虑到官方文章只发布了大约 3 个月,我想这是可以理解的。到目前为止,我只在一个引用此功能的 SO 问题中找到了一个答案,这只是提到它的存在。

请注意,尽管存在此实验性功能,但通常仍然不鼓励混合使用Conda和Pip。我强烈建议继续遵循">在 Conda 环境中使用 Pip"中建议的最佳实践。

描述">配置 Conda 以使用 pip 直接安装 PyPI 包"不太准确。相反,该功能是使 Conda 能够在尝试解析依赖项时考虑是否存在 PyPI 安装的包。它不允许 Conda 使用pip安装东西。它更多地与防止 Conda 在 PyPI 包存在时盲目破坏它们有关。

应该注意的是,使用env yaml创建(conda env create -f env.yaml(或更新(conda env update -f env.yaml(env已经支持使用pip- 无论是否启用此功能。

至于设置,您可以随时检查所有设置conda config --show. 无论何时使用conda config --set它都会默认进行全局更改。如果只想为特定环境设置配置变量,则必须激活 env 并在运行conda config --set时包含--env标志。

如何检查 Conda 的现有配置:

conda config --show


虽然@merv的回答提供了更多的深度,但OP实际上提出了上面的简单问题,所以我想我会回答它。

conda config --show将列出所有配置,包括pip_interop_enabledTrue还是False

最新更新