安装 VS 代码包以在多个 Conda 环境中工作
Install VS Code Packages to work in Multiple Conda Environments
我有几个 Python 项目使用不同的环境。这些环境使用 Conda 进行管理,效果很好,允许在生产中使用相同的环境,并且 dev/test 每个项目。
Conda yml 文件用于定义每个环境。
我想在开发过程中使用许多软件包,例如 autopep8。这些不需要在生产环境中,因此不包含在 yml 文件中。
如何安装 autopep8 和其他软件,以便它们可以在我在 VS Code 中加载的任何 Python 环境中工作?到目前为止,我不得不在切换环境时手动安装这些包。
默认包
在不违反环境隔离的情况下管理此问题的一种方法1 是使用 Conda's default packages functionality。这个想法是仅在开发系统上的 .condarc
中定义默认包(例如 autopep8
)。 conda env create
将尊重这些并将它们添加到您创建的每个环境中,因此您仍然可以保留一个仅描述生产版本必需品的 YAML。
请注意 there are multiple options 用于存储此 .condarc
,并且 Conda 可以以嵌套方式加载设置。如果您的用户的所有环境都被归类为“开发”,那么定义默认包的明智位置将是 ~/.condarc
。还有一个 --no-default-packages
标志,可用于在不需要时禁用此类默认包安装。
[1] 虽然有一些方法可以从 Conda 环境外部包含包(例如,通过 PYTHONPATH
),但应该考虑作为不合标准的,只能作为最后的手段使用。 Conda 的设计假设环境完全隔离 - 违反该假设可能导致未定义的行为。
我有几个 Python 项目使用不同的环境。这些环境使用 Conda 进行管理,效果很好,允许在生产中使用相同的环境,并且 dev/test 每个项目。
Conda yml 文件用于定义每个环境。
我想在开发过程中使用许多软件包,例如 autopep8。这些不需要在生产环境中,因此不包含在 yml 文件中。
如何安装 autopep8 和其他软件,以便它们可以在我在 VS Code 中加载的任何 Python 环境中工作?到目前为止,我不得不在切换环境时手动安装这些包。
默认包
在不违反环境隔离的情况下管理此问题的一种方法1 是使用 Conda's default packages functionality。这个想法是仅在开发系统上的 .condarc
中定义默认包(例如 autopep8
)。 conda env create
将尊重这些并将它们添加到您创建的每个环境中,因此您仍然可以保留一个仅描述生产版本必需品的 YAML。
请注意 there are multiple options 用于存储此 .condarc
,并且 Conda 可以以嵌套方式加载设置。如果您的用户的所有环境都被归类为“开发”,那么定义默认包的明智位置将是 ~/.condarc
。还有一个 --no-default-packages
标志,可用于在不需要时禁用此类默认包安装。
[1] 虽然有一些方法可以从 Conda 环境外部包含包(例如,通过 PYTHONPATH
),但应该考虑作为不合标准的,只能作为最后的手段使用。 Conda 的设计假设环境完全隔离 - 违反该假设可能导致未定义的行为。