如何基于environment.yml用Miniconda离线安装多Conda包并解析依赖
离线环境下基于environment.yml部署Miniconda环境
我有一个依赖多个Python包的版本化软件,需在无网络访问的基础设施上安装。理想情况下,希望以environment.yml作为唯一依据进行部署,但不知如何操作。因组织规定,目标机器仅能使用Miniconda。
已尝试操作
在进行以下操作前,我已下载所有bz2/conda格式的包并复制到目标机器的pkgs文件夹中,同目录下的environment.yml内容如下:
name: my_env channels: - conda-forge - defaults dependencies: - bzip2=1.0.8=hcfcfb64_5 # other packages - pip: - attrs==23.1.0 # other packages
同时在目标机器上执行了conda config --set offline True命令。
尝试的操作及结果:
- 使用
conda env create --file environment.yml创建新环境,失败并提示部分包无法从当前渠道获取; - 创建新环境后,遍历目录执行
conda install <file_name>安装单个包,因依赖未满足多次失败,操作繁琐; - 将所有包打包为tar后执行
conda install .\pkgs.tar,失败提示无法找到该包; - 创建环境后执行
conda env update --file environment.yml --prune,因Libmamba不支持url参数报错; - 使用
--solver classic参数执行上述命令,却因pip代理错误(已开启离线模式)导致无包安装成功。
问题重复性说明
此问题并非以下问题的重复:
- 《How can I install a conda environment when offline?》:未涉及
environment.yml; - 《How to update an existing Conda environment with a .yml file》:未涉及离线场景。
内容的提问来源于stack exchange,提问作者LokiRagnarok
相关产品推荐
相关产品推荐

