ImportError: невозможно импортировать имя stacked_violin из scanpy.plotting._anndata?
Еще пару дней назад мой код, использующий библиотеку 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 (если есть) каждый раз, когда запускаю код. Были ли какие-то изменения за последние пару дней, которые я пропустил? Помощь приветствуется!
1 ответ
Это определенно ошибка в модуле, и похоже, что она проистекает из последней версии, до которой вы, должно быть, обновились.
Ошибка, как говорится
невозможно импортировать имя stacked_violin из scanpy.plotting._anndata
и это правда, поскольку этот _anndata.py, на который он ссылается, не содержит этого метода. На самом деле он находится в другом файле с именем stack_violin.py. См. Здесь для этой функции.
Чтобы исправить это, вы можете просто переписать библиотеку жестким способом, чтобы метод присутствовал в файле. _anndata.py
или вы можете просто вернуться к более ранней версии. Также нет необходимости часто обновлять библиотеку, если в этом нет реальной необходимости, и такая ошибка часто ожидается при повышении версий.