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
我有一个创建环境的 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