将 conda environment.yml 与 pip requirements.txt 相结合

2022-01-10 00:00:00 python conda pip anaconda

问题描述

我使用 conda 环境,也需要一些 pip 包,例如来自 ~gohlke 的预编译轮子.

I work with conda environments and need some pip packages as well, e.g. pre-compiled wheels from ~gohlke.

目前我有两个文件: environment.yml for conda with:

At the moment I have two files: environment.yml for conda with:

# run: conda env create --file environment.yml
name: test-env
dependencies:
- python>=3.5
- anaconda

requirements.txt为pip,激活上述conda环境后即可使用:

and requirements.txt for pip which can be used after activating above conda environment:

# run: pip install -i requirements.txt
docx
gooey
http://www.lfd.uci.edu/~gohlke/pythonlibs/bofhrmxk/opencv_python-3.1.0-cp35-none-win_amd64.whl

是否有可能将它们合并到一个文件中(对于 conda)?

Is there a possibility to combine them in one file (for conda)?


解决方案

Pip 依赖可以像这样包含在 environment.yml 文件中(docs):

Pip dependencies can be included in the environment.yml file like this (docs):

# run: conda env create --file environment.yml
name: test-env
dependencies:
- python>=3.5
- anaconda
- pip
- numpy=1.13.3  # pin version for conda
- pip:
  # works for regular pip packages
  - docx
  - gooey
  - matplotlib==2.0.0  # pin version for pip
  # and for wheels
  - http://www.lfd.uci.edu/~gohlke/pythonlibs/bofhrmxk/opencv_python-3.1.0-cp35-none-win_amd64.whl

它也适用于同一目录中的 .whl 文件(请参阅 Dengar 的答案)以及常见的 pip 包.

It also works for .whl files in the same directory (see Dengar's answer) as well as with common pip packages.

相关文章