首页 > 解决方案 > 如何在不创建新环境的情况下从一个文件在 conda 中安装多个包?

问题描述

我从我当前环境丢失的包的 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

标签: pythonpackageinstallationanacondaconda

解决方案


Conda 环境更新

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

conda env update --file environment.yml

⚠️警告:这些conda env命令不会提示您审查和批准交易 - 它只是执行更改。请务必仔细查看 YAML 文件以确保所有更改都是所需的。

康达安装

Conda 接受的格式conda install --file是与conda list --export. 它不是 YAML,而是一个简单的文本文件,每行一个包,类似于 生成的那个pip freeze,除了单个等号('=' 而不是==)。

conda 列表 --export

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在激活的环境中单独安装它们。


推荐阅读