假设您已有复制的环境,Pbms的答案是正确的方法。Conda完全能够安装Conda软件包和pip软件包,如中所列environment.yml
。我想更详细地记录整个过程。请注意,我使用的是基于文件夹的环境,这就是为什么我添加--prefix [path to environment folder]
了大多数命令的原因。
假设您将现有项目的环境安装到env
当前文件夹中名为的文件夹中,如下所示:
conda create --prefix ./env
您将environment.yml
为该项目的环境生成如下内容:
conda env export --prefix ./env > environment.yml
您可以在其他文件夹中创建一个新环境,方法是将其复制environment.yml
到该文件夹,然后在该文件夹中运行它:
conda env create --prefix ./env --file environment.yml
environment.yml
通过再次复制environment.yml
到那里,然后从那里运行,可以得到一个已经存在的环境以进行匹配:
conda env update --prefix ./env --file environment.yml --prune
在有问题的环境处于活动状态的情况下,您将验证其软件包的状态,如下所示:
conda list
这是该命令可能打印的摘要版本(请注意,pip软件包已标记为pypi
):
pip 19.2.2 py37_0
python 3.7.4 h5263a28_0
numpy 1.16.4 py37h19fb1c0_0
pandas 0.25.1 py37ha925a31_0
pyodbc 4.0.27 py37ha925a31_0
ibm-db 3.0.1 pypi_0 pypi
ibm-db-sa 0.3.5 pypi_0 pypi
最后,这是environment.yml
看起来像的简化版本(请注意,pip包在其自己的类别中列出):
dependencies:
- pip=19.2.2=py37_0
- python=3.7.4=h5263a28_0
- numpy=1.16.4=py37h19fb1c0_0
- pandas=0.25.1=py37ha925a31_0
- pyodbc=4.0.27=py37ha925a31_0
- pip:
- ibm-db==3.0.1
- ibm-db-sa==0.3.5
请注意,同时使用Conda和pip可能会引起胃灼热,因为它们会在不知不觉中破坏彼此的依赖性。您应该先安装所有的Conda软件包,然后再安装所有的pip软件包,而不要在这两者之间交替进行。如果您的环境损坏,则官方建议删除(并从environment.yml
文件中)重新创建它。有关更多详细信息,请参见本指南:
https://www.anaconda.com/using-pip-in-a-conda-environment/