【问题标题】:How to install multiple packages in conda from a file without creating a new environment?如何在不创建新环境的情况下从一个文件在 conda 中安装多个包?
【发布时间】:2019-03-30 14:53:45
【问题描述】:

我从我当前环境缺少的包的 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 install --file 工作吗?
  • (ß_env) jespinozlt-osx:install jespinoz$ conda install --file extra.txt CondaValueError: could not parse '- defaults' in: extra.txt
  • 如果删除该部分会怎样?
  • 还是不喜欢:CondaValueError: could not parse '- appdirs=1.4.3=py36h28b3542_0' in: extra.txt

标签: python package installation anaconda conda


【解决方案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 列表 --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 在您激活的环境中单独安装它们。

【讨论】:

  • 请注意,即使conda install 不支持 PyPI 包,您也可以在 environment.yml 文件中列出 PyPI 包。因此,通过选择使用conda env update 的第一种方法,您可以自动安装 PyPI 包。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-26
  • 1970-01-01
相关资源
最近更新 更多