结合conda environment.yml和pip requirements.tx

2024-04-26 12:22:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用conda环境,还需要一些pip包,例如~gohlke中的预编译轮。

目前,我有两个文件:environment.yml用于conda,其中:

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

以及激活上述conda环境后可使用的pip的requirements.txt

# 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)?


Tags: pip文件runnametestenvtxtenvironment
3条回答

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

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

它还适用于同一目录中的.whl文件(请参见Dengar's answer),以及常见的pip包。

只想添加一个轮子在目录中也可以工作。我在使用整个URL时出现此错误:

HTTP error 404 while getting http://www.lfd.uci.edu/~gohlke/pythonlibs/f9r7rmd8/opencv_python-3.1.0-cp35-none-win_amd64.whl

最后下载了控制盘并将其保存到与yml文件相同的目录中。

name: test-env
dependencies:
- python>=3.5
- anaconda
- pip
- pip:
  - opencv_python-3.1.0-cp35-none-win_amd64.whl

也可以直接在YAML中使用requirements.txt。例如

name: test-env
dependencies:
  - python>=3.5
  - anaconda
  - pip
  - pip:
    - -r file:requirements.txt

基本上,任何可以用pip运行的命令都可以在YAML中运行。有关其他功能的展示,请参见the Advanced Pip Example

相关问题 更多 >