1

直到几天前,我使用 scanpy 库的代码运行良好,但昨晚它坏了并给我带来了一个新错误

Traceback (most recent call last):
  File "./scanpy_normalization.py", line 4, in <module>
    import scanpy.api as sc
  File "/usr/local/lib/python3.8/site-packages/scanpy/api/__init__.py", line 27, in <module>
    from . import pl
  File "/usr/local/lib/python3.8/site-packages/scanpy/api/pl.py", line 1, in <module>
    from ..plotting._anndata import scatter, violin, ranking, clustermap, stacked_violin, heatmap, dotplot, matrixplot, tracksplot
ImportError: cannot import name 'stacked_violin' from 'scanpy.plotting._anndata' (/usr/local/lib/python3.8/site-packages/scanpy/plotting/_anndata.py

我将scanpy导入为

import scanpy.api as sc

每次运行代码时,我都会更新到最新版本的 scanpy(如果有)。我错过的最后几天有变化吗?帮助表示赞赏!

4

1 回答 1

1

这绝对是模块中的一个错误,看起来它源于您必须升级到的最新版本。

它指出的错误

无法从“scanpy.plotting._anndata”导入名称“stacked_violin”

这是真的,因为它引用的这个_anndata.py不包含该方法。它实际上位于另一个名为stack_violin.py的文件中。有关该功能,请参见此处

要修复它,您可以简单地采用覆盖库的硬方法,以便该方法存在于文件中,_anndata.py或者您可以简单地恢复到早期版本。除非有真正的需要,否则也不需要经常更新库,并且在提升版本时经常会出现这种错误。

于 2020-08-28T20:44:13.060 回答