Python 安装VS代码包以在多个Conda环境中工作

Python 安装VS代码包以在多个Conda环境中工作,python,visual-studio-code,conda,Python,Visual Studio Code,Conda,我有几个使用不同环境的Python项目。这些环境使用Conda进行管理,这很有效,允许在每个项目的生产和开发/测试中使用相同的环境 Conda yml文件用于定义每个环境 我希望在开发过程中使用很多包,比如autopep8。这些不需要在生产环境中,因此不包括在yml文件中 如何安装AutoEP8和其他工具,使它们能够在VS代码中加载的任何Python环境中工作?到目前为止,我必须在切换环境时手动安装这些软件包。默认软件包 在不违反环境隔离1的情况下进行管理的一种方法是使用。想法是在.condar

我有几个使用不同环境的Python项目。这些环境使用Conda进行管理,这很有效,允许在每个项目的生产和开发/测试中使用相同的环境

Conda yml文件用于定义每个环境

我希望在开发过程中使用很多包,比如autopep8。这些不需要在生产环境中,因此不包括在yml文件中

如何安装AutoEP8和其他工具,使它们能够在VS代码中加载的任何Python环境中工作?到目前为止,我必须在切换环境时手动安装这些软件包。

默认软件包 在不违反环境隔离1的情况下进行管理的一种方法是使用。想法是在
.condarc
中仅在开发系统上定义默认包(如
autopep8
)。
conda env create
将尊重这些,并将它们添加到您创建的每个env中,因此您仍然可以保留一个仅描述生产版本基本要素的YAML

请注意,对于存储此
.condarc
,和Conda可以嵌套方式加载设置。如果用户的所有环境都被归类为“开发”,那么定义默认包的合理位置应该是
~/.condarc
。另外还有一个
--无默认软件包
标志,可用于在不需要时禁用此类默认软件包安装



[1]虽然有办法包括来自Conda环境之外的包(例如,通过
PYTHONPATH
),但这应被视为不符合标准,只能作为最后手段使用。Conda的设计假设环境完全隔离,违反环境会导致未定义的行为。

在VS代码中,默认情况下,已安装的python模块存储在当前使用的python环境的“\Lib\site packages”中。因此,只有在当前使用的python环境中安装了所需的模块时,才能识别该模块。参考:你调查过吗?
conda env create
命令将尊重它们,并且每当您有一个不需要它的env时,您可以使用一个
--无默认包
标志。您可以在
.condarc
中仅在您的开发系统上设置此选项。非常好的建议@merv-我还没有看过它们。