解决【scVelo】Error: Neighbors.compute_neighbors() got an unexpected keyword argument write_knn_indices

前言

最近分析单细胞数据,发现自己环境中的scanpy 版本落后太多了,所以更新了一下……然后在做 RNA Velocity分析的时候遇见了报错: Error: Neighbors.compute_neighbors() got an unexpected keyword argument 'write_knn_indices',记录一下解决过程。

报错场景

工具版本:Scanpy Version:1.10.1ScVelo Version:0.3.2
代码:

import scvelo as scv
...
...
scv.pp.moments(adata, n_pcs=30, n_neighbors=30)

报错: TypeError: Neighbors.compute_neighbors() got an unexpected keyword argument 'write_knn_indices'

解决过程

和以前一样,直接Google搜索报错信息,找到:
在这里插入图片描述

解决方法,上图所示,把参数设置从n_pcs=30改为n_pcs=None

Bug fixed

scVelo的作者已经在最近把 bug 修复了, 所以只要安装一下develop的版本应该就可以了:
pip install git+https://github.com/theislab/scvelo@main,或者

git clone https://github.com/theislab/scvelo && cd scvelo
git checkout --track origin/main
pip install -e .

其他方案

如果根据上述步骤,修改参数后仍然报错,那么还有一种解决方案可以参考。
工具版本:

numba                  0.53.1              
scanpy                 1.7.2               
scvelo                 0.2.3               
umap-learn             0.4.6  

此时,需要将 numba 版本降到 0.52.0,即 pip install numba==0.52.0

但是,我估计很少会有人需要这样……因为已经是**“相对古早”**的版本了

总结

我遇到的报错,应该之前会有人遇到过,多搜一搜,总会找到解决方案,提高信息检索筛选的能力,会明显减少解决问题所需时间。

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值