如何从一个文件安装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
解决方案
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
在激活的环境中单独安装这些包。
相关文章