首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >conda-build错误地报告meta.yaml中没有包含依赖项

conda-build错误地报告meta.yaml中没有包含依赖项
EN

Stack Overflow用户
提问于 2019-08-07 12:42:58
回答 2查看 1.2K关注 0票数 3

我正在尝试构建一个Python模块(wsamdata)作为conda包。conda-build失败并显示错误消息(完整输出:https://pastebin.com/sKXNEcB6)

代码语言:javascript
复制
RuntimeError: Setuptools downloading is disabled in conda build.
Be sure to add all dependencies in the meta.yaml  url=https://pypi.org/simple/click/

click是一个依赖项,因此我将它包含在我的meta.yaml中(见下文),所以看到这条消息我有点困惑。

代码语言:javascript
复制
package:
  name: wsamdata
  version: 0.6.0
source:
  git_rev: v0.6.0
  git_url: https://github.com/kinverarity1/wsamdata
requirements:
  build:
    - python
    - pip
    - setuptools
    - numpy
    - pandas
    - geopandas
    - sqlparse
    - click
    - cx_Oracle
    - pillow
    - sqlalchemy
    - python-sa-gwdata>=0.5.4
    - lasio
  run:
    - python
    - numpy
    - pandas
    - geopandas
    - sqlparse
    - click
    - cx_Oracle
    - pillow
    - sqlalchemy
    - python-sa-gwdata>=0.5.4
    - lasio

显然,click也包含在wsamdata包的setup.py文件中的install_requires=[...]下:

代码语言:javascript
复制
from setuptools import setup

setup(
    name="wsamdata",
    version="0.6.0",
    packages=["wsamdata"],
    install_requires=[
        "python-sa-gwdata>=0.5.4",
        "pandas",
        "geopandas",
        "sqlparse",
        "click",
        "cx_Oracle",
        "pillow",
        "numpy",
        "sqlalchemy",
        "lasio",
    ]
)

我不能分享wsamdata的源代码,所以我知道这不是一个可重复的例子,但我被卡住了,我想知道我是否遗漏了一些明显的东西。我已经能够在这台机器上成功地使用conda-buildpython-sa-gwdata构建一个conda包。

我还发现了其他类似的问题,但它们与生成缺少要求的meta.yaml文件的conda skeleton设置有关。相反,我从头开始编写这个meta.yaml

我的.condarc文件:

代码语言:javascript
复制
channels:
  - kinverarity
  - conda-forge
  - defaults
ssl_verify: true
auto_update_conda: true
always_yes: true
show_channel_urls: true
create_default_packages:
  - pip
  - black
pip_interop_enabled: true
anaconda_upload: false
EN

回答 2

Stack Overflow用户

发布于 2020-11-14 01:07:15

为了防止任何人偶然发现这一点,我遇到了同样的问题,并使用

--single-version-externally-managed --record=record.txt

pip install命令中的选项,如anaconda cloud documentation中所建议

如果您使用的是build.shbld.bat,请尝试:

代码语言:javascript
复制
$PYTHON setup.py install --single-version-externally-managed --record=record.txt

代码语言:javascript
复制
"%PYTHON%" setup.py install --single-version-externally-managed --record=record.txt

,分别。

或者,您可以将以下内容添加到您的meta.yaml:

代码语言:javascript
复制
build:
  script: {{ PYTHON }} setup.py install --single-version-externally-managed --record=record.txt

或者,如果您使用的是conda skeleton,则pypi.org中已存在软件包:

代码语言:javascript
复制
build:
  script: {{ PYTHON }} -m pip install . --single-version-externally-managed --record=record.txt --no-deps --ignore-installed --no-cache-dir -vvv
票数 1
EN

Stack Overflow用户

发布于 2019-11-15 05:45:18

我也遇到过这个问题,其根源在于与meta.yaml文件相比,setup.py/requirements.txt文件中的版本信息存在冲突。查看那里,确保所有版本的规格都是相同的。多亏了这里的ML帖子,我才被引导到这个位置:

https://groups.google.com/a/continuum.io/forum/#!msg/anaconda/dELRaivwdMg/5IWgDcdqAwAJ

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57387075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档