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



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

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

我想在开发过程中使用许多软件包,例如autoep8。这些不需要在生产环境中,因此不包含在yml文件中。

我如何安装autoep8和其他程序,以便它们能够在我加载到VS代码中的任何Python环境中工作?到目前为止,我不得不在切换环境时手动安装这些软件包。

默认程序包

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

请注意,有多个选项可用于存储此.condarc的位置,Conda可以以嵌套方式加载设置。如果您的用户的所有环境都被分类为";"开发";,则定义默认包的合理位置将是CCD_ 5。另外还有一个--no-default-packages标志,当你不需要它时,它可以用来禁用这种默认的软件包安装


[1]虽然有一些方法可以包括Conda环境之外的包(例如,通过PYTHONPATH(,但这应被视为不合格,只能作为最后手段。Conda的设计是基于环境完全隔离的假设——违反这一假设可能导致未定义的行为

最新更新