首页 > 解决方案 > conda install: UnsatisfiableError:?

问题描述

我在 macOS BigSur (11.2.3) 上安装了 conda (conda 4.10.1)。我正在尝试安装一些生物信息学工具,但总是遇到同样的错误:

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versions

但是没有错误的包!有人知道该怎么做吗?该错误根本没有提供信息,我对不兼容错误一无所知!

在这种情况下,此错误来自名为 liftoff 的基于 python 的包:

conda install -c bioconda liftoff -vv

编辑: -vv 模式下的输出:

Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
DEBUG conda.resolve:get_reduced_index(574): Retrieving packages for: 
  - @/osx-64::__unix==0=0
DEBUG conda.resolve:get_reduced_index(574): Retrieving packages for: 
  - @/osx-64::__osx==10.16=0
DEBUG conda.resolve:get_reduced_index(574): Retrieving packages for: 
  - python=3.7
DEBUG conda.resolve:filter_group(635): python: pruned from 98 -> 14
DEBUG conda.resolve:filter_group(635): libffi: pruned from 9 -> 8
DEBUG conda.resolve:filter_group(635): ncurses: pruned from 6 -> 4
DEBUG conda.resolve:filter_group(635): openssl: pruned from 31 -> 26
DEBUG conda.resolve:filter_group(635): pip: pruned from 96 -> 24
DEBUG conda.resolve:filter_group(635): setuptools: pruned from 168 -> 46
DEBUG conda.resolve:filter_group(635): certifi: pruned from 76 -> 22
DEBUG conda.resolve:filter_group(635): wheel: pruned from 50 -> 16
DEBUG conda.resolve:filter_group(635): readline: pruned from 6 -> 5
DEBUG conda.resolve:filter_group(635): sqlite: pruned from 25 -> 19
DEBUG conda.resolve:filter_group(635): xz: pruned from 5 -> 2
DEBUG conda.resolve:get_reduced_index(574): Retrieving packages for: 
  - @/osx-64::__archspec==1=x86_64
failed                                                                                                                                                                                                                                                             
Traceback (most recent call last):
  File "/Users/francisco/opt/anaconda3/lib/python3.7/site-packages/conda/cli/install.py", line 265, in install
    should_retry_solve=(_should_retry_unfrozen or repodata_fn != repodata_fns[-1]),
  File "/Users/francisco/opt/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 117, in solve_for_transaction
    should_retry_solve)
  File "/Users/francisco/opt/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 158, in solve_for_diff
    force_remove, should_retry_solve)
  File "/Users/francisco/opt/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 281, in solve_final_state
    ssc = self._run_sat(ssc)
  File "/Users/francisco/opt/anaconda3/lib/python3.7/site-packages/conda/common/io.py", line 88, in decorated
    return f(*args, **kwds)
  File "/Users/francisco/opt/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 818, in _run_sat
    should_retry_solve=ssc.should_retry_solve
  File "/Users/francisco/opt/anaconda3/lib/python3.7/site-packages/conda/common/io.py", line 88, in decorated
    return f(*args, **kwds)
  File "/Users/francisco/opt/anaconda3/lib/python3.7/site-packages/conda/resolve.py", line 1320, in solve
    raise UnsatisfiableError({})
conda.exceptions.UnsatisfiableError: 
Did not find conflicting dependencies. If you would like to know which
packages conflict ensure that you have enabled unsatisfiable hints.

conda config --set unsatisfiable_hints True
            

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/francisco/opt/anaconda3/lib/python3.7/site-packages/conda/exceptions.py", line 1079, in __call__
    return func(*args, **kwargs)
  File "/Users/francisco/opt/anaconda3/lib/python3.7/site-packages/conda/cli/main.py", line 84, in _main
    exit_code = do_call(args, p)
  File "/Users/francisco/opt/anaconda3/lib/python3.7/site-packages/conda/cli/conda_argparse.py", line 83, in do_call
    return getattr(module, func_name)(args, parser)
  File "/Users/francisco/opt/anaconda3/lib/python3.7/site-packages/conda/cli/main_install.py", line 20, in execute
    install(args, parser, 'install')
  File "/Users/francisco/opt/anaconda3/lib/python3.7/site-packages/conda/cli/install.py", line 308, in install
    raise e
  File "/Users/francisco/opt/anaconda3/lib/python3.7/site-packages/conda/cli/install.py", line 299, in install
    should_retry_solve=(repodata_fn != repodata_fns[-1]),
  File "/Users/francisco/opt/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 117, in solve_for_transaction
    should_retry_solve)
  File "/Users/francisco/opt/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 158, in solve_for_diff
    force_remove, should_retry_solve)
  File "/Users/francisco/opt/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 275, in solve_final_state
    ssc = self._add_specs(ssc)
  File "/Users/francisco/opt/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 704, in _add_specs
    ssc.r.find_conflicts(spec_set)
  File "/Users/francisco/opt/anaconda3/lib/python3.7/site-packages/conda/resolve.py", line 352, in find_conflicts
    raise UnsatisfiableError(bad_deps, strict=strict_channel_priority)
conda.exceptions.UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versions

标签: python-3.xinstallationconda

解决方案


我在尝试安装生物信息学工具 ppanggolin 时遇到了同样的错误。问题似乎是您的 conda 环境中的 python 版本对于您尝试安装的工具来说太新了。我通过创建一个新的 conda 环境并使用早期版本的 python 解决了这个问题:

conda create -n ppanggolin01 python=3.8
conda activate ppangolin01
conda clean --packages --tarballs
conda install -c bioconda ppanggolin

我在包装清理步骤中添加了一个很好的措施。希望这也适用于您的工具。

或者,当发生包冲突时,使用 Mamba 安装似乎可以解决这个问题,并且之前已经描述过: 如何解释 conda 包冲突?


推荐阅读