如何从一个文件安装Conda中的多个软件包,而无需创建新的环境?

2022-03-13 00:00:00 python conda package anaconda installation

问题描述

我从我当前环境所缺少的包的yml文件中获取了这些包。如何在当前环境中安装这些组件?

channels:
  - defaults
dependencies:
  - appdirs=1.4.3=py36h28b3542_0
  - asn1crypto=0.24.0=py36_0
  - attrs=18.2.0=py36h28b3542_0
  - blas=1.0=mkl
  - cffi=1.11.5=py36h6174b99_1
  - constantly=15.1.0=py36h28b3542_0
  - cryptography=2.3.1=py36hdbc3d79_0
  - freetype=2.9.1=hb4e5f40_0
  - html5lib=1.0.1=py36_0
  - idna=2.7=py36_0
  - incremental=17.5.0=py36_0
  - intel-openmp=2019.0=118
  - libgfortran=3.0.1=h93005f0_2
  - libxml2=2.9.4=0
  - libxslt=1.1.29=hc208041_6
  - lxml=4.1.1=py36h6c891f4_0
  - mkl=2019.0=118
  - mkl_fft=1.0.6=py36hb8a8100_0
  - mkl_random=1.0.1=py36h5d10147_1
  - numpy=1.15.3=py36h6a91979_0
  - numpy-base=1.15.3=py36h8a80b8c_0
  - pyasn1=0.4.4=py36h28b3542_0
  - pyasn1-modules=0.2.2=py36_0
  - pycparser=2.19=py36_0
  - pyopenssl=18.0.0=py36_0
  - service_identity=17.0.0=py36h28b3542_0
  - twisted=17.5.0=py36_0
  - zope=1.0=py36_1
  - zope.interface=4.5.0=py36h1de35cc_0
  - pip:
    - absl-py==0.2.2
    - ete3==3.1.1
    - grpcio==1.12.1

解决方案

Conda环境更新

如果您有一个YAML文件,那么将其应用于给定环境的最有效方法是conda env update

conda env update --file environment.yml

⚠️警告:conda env命令不会提示您查看和批准事务-它只是执行更改。请务必仔细查看YAML文件,以确保所有更改都符合要求。

Conda安装

Conda接受的conda install --file格式与conda list --export的输出相匹配。它不是YAML,而是一个简单的文本文件,每行一个包,类似于pip freeze生成的文件,只是有一个等号(‘=’而不是==)。

Conda列表--导出

appdirs=1.4.3=py36h28b3542_0
asn1crypto=0.24.0=py36_0
...
zope=1.0=py36_1
zope.interface=4.5.0=py36h1de35cc_0

请注意,构建不是必需的,例如,以下内容也可以工作,并且实际上可能会稍微提高跨体系结构的可移植性

appdirs=1.4.3
asn1crypto=0.24.0
...
zope=1.0
zope.interface=4.5.0

遗憾的是,conda install不支持PyPI包;您必须通过pip install在激活的环境中单独安装这些包。

相关文章