python-3.x - 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
解决方案
我在尝试安装生物信息学工具 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 包冲突?
推荐阅读
- c# - 在 FluentValidation 中的 RuleForEach 之前准备数据
- javascript - 如何禁用 Kendo UI NumericTextBox 上的点?
- function - 为什么一个值在函数的循环中存在足够长的时间,但在 tokio::spawn 的直接代码中却没有?
- java - RecyclerView 之上的透明 TextView
- python - Scrapy:如何从脚本中导出 Json
- php - 如何使用 PHP 和 json_decode 在循环中解码 JSON?
- matplotlib - RGBA 参数无效:使用 Matplotlib 时,masked_array(data=[1.0, 0.5651961183210134, 0.0, 1.0], mask=False
- javascript - 我的目标是写一个条件,如果我点击“卡 1”,我需要填充与公共属性匹配的 arr2 的值
- spring - Spring Boot 库项目未从 /conf 文件夹中选择外部文件配置
- sql-server - 在 STORED PROCEDURE SQL SERVER 中使用 Always Encrypted