【问题标题】:How to fix conda "ResolvePackageNotFound" when building a conda recipe构建 conda 配方时如何修复 conda“ResolvePackageNotFound”
【发布时间】:2019-06-07 00:25:26
【问题描述】:

我从 github 下载了一个 conda 包以进行一些修改,并想在 conda 环境中构建这个本地包并测试我的更改。问题是配方的构建失败,因为 conda 有一个 conda.exceptions.ResolvePackageNotFound 错误,指出它没有检测到 2 个包,snakemakefuzzywuzzy

这是 meta.yaml 文件:

package:
  name: snakepipes
  version: 1.2.1

source:
  path: ../

build:
  number: 0
  noarch: python

requirements:
  build:
    - python >=3

  run:
    - python >=3
    - pandas
    - graphviz
    - pyyaml >=5.1
    - wget
    - snakemake >=5.2.3
    - fuzzywuzzy

test:
  commands:
    - DNA-mapping --help

about:
  home: 'https://snakepipes.readthedocs.org'
  license: GPL3
  summary: NGS processing pipelines from the MPI-IE
  license_file: LICENSE.txt

我尝试将noarch 更改为“通用”,在requirements: build 类别中添加“pip”...

我的命令行很标准:conda build conda-recipe/

我得到的错误信息总是一样的:

No numpy version specified in conda_build_config.yaml.  Falling back to default numpy value of 1.11
WARNING:conda_build.metadata:No numpy version specified in conda_build_config.yaml.  Falling back to default numpy value of 1.11
Adding in variants from internal_defaults
INFO:conda_build.variants:Adding in variants from internal_defaults
Attempting to finalize metadata for snakepipes
INFO:conda_build.metadata:Attempting to finalize metadata for snakepipes
Collecting package metadata: ...working... done
Solving environment: ...working... done
BUILD START: ['snakepipes-1.2.1-py_0.tar.bz2']
Collecting package metadata: ...working... done
Solving environment: ...working... done
Collecting package metadata: ...working... done
Solving environment: ...working... failed

Leaving build/test directories:
  Work:
 /home/remi/anaconda3/conda-bld/work 
  Test:
 /home/remi/anaconda3/conda-bld/test_tmp 
Leaving build/test environments:
  Test:
source activate  /home/remi/anaconda3/conda-bld/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac 
  Build:
source activate  /home/remi/anaconda3/conda-bld/_build_env 


Traceback (most recent call last):
  File "/home/remi/anaconda3/lib/python3.7/site-packages/conda_build/environ.py", line 753, in get_install_actions
    actions = install_actions(prefix, index, specs, force=True)
  File "/home/remi/anaconda3/lib/python3.7/site-packages/conda/common/io.py", line 88, in decorated
    return f(*args, **kwds)
  File "/home/remi/anaconda3/lib/python3.7/site-packages/conda/plan.py", line 473, in install_actions
    txn = solver.solve_for_transaction(prune=prune, ignore_pinned=not pinned)
  File "/home/remi/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 107, in solve_for_transaction
    force_remove, force_reinstall)
  File "/home/remi/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 145, in solve_for_diff
    force_remove)
  File "/home/remi/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 242, in solve_final_state
    ssc = self._run_sat(ssc)
  File "/home/remi/anaconda3/lib/python3.7/site-packages/conda/common/io.py", line 88, in decorated
    return f(*args, **kwds)
  File "/home/remi/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 475, in _run_sat
    conflicting_specs = ssc.r.get_conflicting_specs(tuple(final_environment_specs))
  File "/home/remi/anaconda3/lib/python3.7/site-packages/conda/resolve.py", line 852, in get_conflicting_specs
    reduced_index = self.get_reduced_index(specs)
  File "/home/remi/anaconda3/lib/python3.7/site-packages/conda/common/io.py", line 88, in decorated
    return f(*args, **kwds)
  File "/home/remi/anaconda3/lib/python3.7/site-packages/conda/resolve.py", line 356, in get_reduced_index
    specs, features = self.verify_specs(specs)
  File "/home/remi/anaconda3/lib/python3.7/site-packages/conda/resolve.py", line 244, in verify_specs
    raise ResolvePackageNotFound(bad_deps)
conda.exceptions.ResolvePackageNotFound: 
  - fuzzywuzzy
  - snakemake[version='>=5.2.3']

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/remi/anaconda3/bin/conda-build", line 11, in <module>
    sys.exit(main())
  File "/home/remi/anaconda3/lib/python3.7/site-packages/conda_build/cli/main_build.py", line 456, in main
    execute(sys.argv[1:])
  File "/home/remi/anaconda3/lib/python3.7/site-packages/conda_build/cli/main_build.py", line 447, in execute
    verify=args.verify, variants=args.variants)
  File "/home/remi/anaconda3/lib/python3.7/site-packages/conda_build/api.py", line 208, in build
    notest=notest, need_source_download=need_source_download, variants=variants)
  File "/home/remi/anaconda3/lib/python3.7/site-packages/conda_build/build.py", line 2314, in build_tree
    notest=notest,
  File "/home/remi/anaconda3/lib/python3.7/site-packages/conda_build/build.py", line 1397, in build
    create_build_envs(m, notest)
  File "/home/remi/anaconda3/lib/python3.7/site-packages/conda_build/build.py", line 1281, in create_build_envs
    raise e
  File "/home/remi/anaconda3/lib/python3.7/site-packages/conda_build/build.py", line 1271, in create_build_envs
    channel_urls=tuple(m.config.channel_urls))
  File "/home/remi/anaconda3/lib/python3.7/site-packages/conda_build/environ.py", line 755, in get_install_actions
    raise DependencyNeedsBuildingError(exc, subdir=subdir)
conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {"snakemake[version='>=5.2.3']", 'fuzzywuzzy'}

你知道如何解决这个问题吗?

【问题讨论】:

  • 试试conda build -c conda-forge conda-recipe/
  • 它解决了fuzzywuzzy 的问题,但没有解决snakemake 的问题:/
  • 问题是你需要添加有合适包的conda通道。您可以在anaconda.org 搜索具有您需要的包的频道。在这种情况下,似乎 bioconda 有 snakemake 包,所以你应该可以做到conda build -c conda-forge -c bioconda conda-recipe/
  • 好吧,我根本不习惯在本地模式下使用 conda,所以我对这个错误消息感到非常困惑。我现在明白问题所在了。非常感谢。

标签: build conda snakemake


【解决方案1】:

问题是您需要添加具有适当包的 conda 通道。你可以在https://anaconda.org搜索有你需要的包的频道。

在这种情况下,似乎 bioconda 有 snakemake 包,而 conda-forge 有 fuzzywuzzy 所以你应该可以这样做

conda build -c conda-forge -c bioconda conda-recipe/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-20
    • 2020-05-19
    • 1970-01-01
    • 2018-08-17
    • 1970-01-01
    • 1970-01-01
    • 2020-12-27
    相关资源
    最近更新 更多