【问题标题】:can't specify pip dependency in conda meta.yaml file无法在 conda meta.yaml 文件中指定 pip 依赖项
【发布时间】:2016-09-29 04:38:56
【问题描述】:

为了构建 conda 包,我有以下 meta.yaml 文件:

package:
  name: dsutils
  version: 1.0

source:
  git_rev: cat_files_bq_utils
  git_url: https://**********.git

requirements:
  build:
    - python
    - setuptools

  run:
    - python
    - pandas
    - scipy
    - numpy
    - scikit-learn ==0.17.0
    - google-api-python-client
...

当我尝试运行它时,我收到以下错误:

Error:  Packages/dependencies missing in current linux-64 channels: 
  - dsutils 1.0 py34_0 -> google-api-python-client
  - google-api-python-client

但是当我摆脱 google-api-python-client 依赖项时,包成功构建。请注意,google-api-python-client 无法通过conda install 命令行安装,但可以使用 pip 安装。

我的问题是:如何在 meta.yaml conda 包文件中指定 pip 依赖项?

【问题讨论】:

  • conda 不使用 pip。所以如果你想依赖一个包,你必须把它转换成一个conda包。
  • 但是如何指定 pip 依赖项?肯定有办法吗?否则,我无法完全打包我的代码
  • 为什么不直接打包 pip 依赖呢?

标签: python dependencies package anaconda conda


【解决方案1】:

如果conda search 没有显示任何结果,最简单的做法是访问 anaconda.org 并查看是否有其他渠道可能已经为您构建了该软件包。

https://anaconda.org/search?q=google-api-python-client&sort=ndownloads&sort_order=1&reverse=true

看起来pandas 频道有你需要的,所以

conda config --append channels pandas

然后再次运行conda build

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-05
    • 1970-01-01
    • 2017-07-29
    • 2021-05-29
    • 1970-01-01
    • 1970-01-01
    • 2020-01-09
    相关资源
    最近更新 更多