Conda 环境创建但排除本地开发包?

Conda environment creation but exclude local development packages?

我有一个创建环境的 environment.yml 文件:

name: blah

channels:
  - conda-forge

dependencies:
  - python=3.9
  - psychopg2

  # THESE ARE FOR LOCAL DEV ONLY
  - jupyter
  - ipykernel
  - folium

如果将本地开发包排除在生产之外,docker 图像大小会大大节省。但是在开发机器等上进行本地测试需要这些包。

我目前的解决方案是在本地维护一个单独的 environment_local.yml 到 运行,其中包括这些包,但是 运行 environment.yml 在 docker 构建期间排除他们。但是文件有可能在共享依赖项中不同步。

有没有办法根据命令行标志从环境中排除包?或者,环境文件是否可以相互继承和扩展?

还有一些

我寻求的解决方案是:

environment.yml:

name: blah

channels:
  - conda-forge

dependencies:
  - python=3.9
  - psychopg2

environment.local.yml:

channels:
  - conda-forge
  - anaconda

dependencies:
  - folium
  - ipykernel
  - jupyter

生产环境配置:

conda env create -f environment.yml

配置本地环境:

conda env create -f environment.yml
conda env update -f environment.local.yml