Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我是否需要为每个新环境配置Conda和pip之间的互操作性?_Pip_Anaconda_Conda - Fatal编程技术网

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

我是否需要为每个新环境配置Conda和pip之间的互操作性?,pip,anaconda,conda,Pip,Anaconda,Conda,从Conda 4.6开始,可以将Conda配置为使用pip()直接安装PyPi软件包。具体来说,您需要通过conda config--set pip\u interop\u enabled True手动启用它 我不知道如何检查Conda的现有配置,因此我无法判断此设置是否在整个环境中全局保持,或者是否需要在每次创建新环境时手动启用。有什么想法吗 到目前为止,我几乎看不到有人提到这个功能,我想这是可以理解的,因为官方文章才发表了大约3个月。到目前为止,我只在一个涉及此功能的问题中找到了一个答案,这

从Conda 4.6开始,可以将Conda配置为使用pip()直接安装PyPi软件包。具体来说,您需要通过
conda config--set pip\u interop\u enabled True手动启用它

我不知道如何检查Conda的现有配置,因此我无法判断此设置是否在整个环境中全局保持,或者是否需要在每次创建新环境时手动启用。有什么想法吗


到目前为止,我几乎看不到有人提到这个功能,我想这是可以理解的,因为官方文章才发表了大约3个月。到目前为止,我只在一个涉及此功能的问题中找到了一个答案,这只是提到了它的存在。

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

“将Conda配置为使用pip直接安装PyPI软件包”的描述并不准确。相反,该功能是使Conda在试图解决依赖关系时考虑PyPI安装包的存在。它不允许Conda使用
pip
安装东西。它更多地涉及防止Conda在PyPI包存在时盲目地重击它们

需要注意的是,要创建(
conda env create-f env.yaml
)或更新(
conda env update-f env.yaml
),一个env已经支持在启用或不启用此功能的情况下使用
pip


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

时包含
--env
标志。请注意,尽管存在此实验功能,但通常仍不鼓励混合conda和Pip。我强烈建议继续遵循“”中建议的最佳实践

“将Conda配置为使用pip直接安装PyPI软件包”的描述并不准确。相反,该功能是使Conda在试图解决依赖关系时考虑PyPI安装包的存在。它不允许Conda使用
pip
安装东西。它更多地涉及防止Conda在PyPI包存在时盲目地重击它们

需要注意的是,要创建(
conda env create-f env.yaml
)或更新(
conda env update-f env.yaml
),一个env已经支持在启用或不启用此功能的情况下使用
pip

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

如何检查Conda的现有配置:

conda配置--show


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

conda config--show
将列出所有配置,包括
pip\u interop\u enabled
是否为
True
False

如何检查Conda的现有配置:

conda配置--show


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


conda config--show
将列出所有配置,包括
pip\u interop\u enabled
是否为
True
False

谢谢您的回答!我只在conda中缺少我需要的包、无法维护或出于任何原因无法使用时才使用pip。所以在这种情况下,我肯定不会从PyPi安装“conda版本”的软件包。hyperas和hyperopt是我想到的两个直接的例子。康达会在你所有的环境中安装pip,然后幸福地忽略环境中安装的任何pip包,这让我很疯狂。我相信这对很多人来说都是一个源代码负面的惊喜。@Robert嗯,从技术上讲,它可以识别出他们在那里(例如,
conda list
显示了他们),但默认情况下conda不会将他们考虑到解算器中。事实上,并不是所有的PyPI包名都与Conda包名匹配,这进一步加剧了问题的严重性,因此集成并不容易。是的,我只是想知道为什么默认值是
pip\u interop\u enabled=False
。当我们把这个设定为真时,有什么龙在等着我们呢?@Robert我认为最大的担忧是假设PyPI上的包的构建与Conda上的构建是相同的。一个潜在问题的例子是,一些Python包是非Python软件/共享库的包装器。此类软件包的Conda构建将显式声明此类依赖项并确保安装它们。PyPI构建并不总是如此。因此,如果包装程序包已经通过PyPI安装,并且满足Conda solve中的依赖项,则可能会缺少子依赖项。谢谢您的回答!我只在conda中缺少我需要的包、无法维护或出于任何原因无法使用时才使用pip。所以在这种情况下,我肯定不会从PyPi安装“conda版本”的软件包。hyperas和hyperopt是我想到的两个直接的例子。康达会在你所有的环境中安装pip,然后幸福地忽略环境中安装的任何pip包,这让我很疯狂。我肯定这是一个苏