scverse / scvi-tools

Deep probabilistic analysis of single-cell and spatial omics data
http://scvi-tools.org/
BSD 3-Clause "New" or "Revised" License
1.22k stars 346 forks source link

ModuleNotFoundError: No module named 'anndata._io.specs' #2259

Closed zhangnan0107 closed 11 months ago

zhangnan0107 commented 1 year ago

Dear scvi group,

Thanks for developing such a useful tool!

I recently got an error when trying importing scvi package. Please see below for more details. Would be grateful if you could provide some suggestions!

Thanks and best, Nan

To reproduce:

!pip install --quiet scvi-colab
from scvi_colab import install

install()

import numba
import numpy as np
import pandas as pd
import pynndescent
import scanpy as sc
import scvi
from scvi.hub import HubModel
from scvi.model.utils import mde

Error info:


---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
File ~/.conda/envs/HLCA_mapping_env/lib/python3.8/site-packages/scvi/data/_utils.py:17
     16 try:
---> 17     from anndata.experimental import read_elem
     18 except ImportError:

ImportError: cannot import name 'read_elem' from 'anndata.experimental' (/home/n853g/.local/lib/python3.8/site-packages/anndata/experimental/__init__.py)

During handling of the above exception, another exception occurred:

ModuleNotFoundError                       Traceback (most recent call last)
Cell In[8], line 6
      4 import pynndescent
      5 import scanpy as sc
----> 6 import scvi
      7 from scvi.hub import HubModel
      8 from scvi.model.utils import mde

File ~/.conda/envs/HLCA_mapping_env/lib/python3.8/site-packages/scvi/__init__.py:10
      7 from ._settings import settings
      9 # this import needs to come after prior imports to prevent circular import
---> 10 from . import autotune, data, model, external, utils
     12 from importlib.metadata import version
     14 package_name = "scvi-tools"

File ~/.conda/envs/HLCA_mapping_env/lib/python3.8/site-packages/scvi/autotune/__init__.py:1
----> 1 from ._manager import TuneAnalysis, TunerManager
      2 from ._tuner import ModelTuner
      3 from ._types import Tunable, TunableMixin

File ~/.conda/envs/HLCA_mapping_env/lib/python3.8/site-packages/scvi/autotune/_manager.py:22
     20 from scvi._types import AnnOrMuData
     21 from scvi.data._constants import _SETUP_ARGS_KEY, _SETUP_METHOD_NAME
---> 22 from scvi.model.base import BaseModelClass
     23 from scvi.utils import InvalidParameterError
     25 from ._defaults import COLORS, COLUMN_KWARGS, DEFAULTS, TUNABLE_TYPES

File ~/.conda/envs/HLCA_mapping_env/lib/python3.8/site-packages/scvi/model/__init__.py:2
      1 from . import utils
----> 2 from ._amortizedlda import AmortizedLDA
      3 from ._autozi import AUTOZI
      4 from ._condscvi import CondSCVI

File ~/.conda/envs/HLCA_mapping_env/lib/python3.8/site-packages/scvi/model/_amortizedlda.py:12
      9 from anndata import AnnData
     11 from scvi._constants import REGISTRY_KEYS
---> 12 from scvi.data import AnnDataManager
     13 from scvi.data.fields import LayerField
     14 from scvi.module import AmortizedLDAPyroModule

File ~/.conda/envs/HLCA_mapping_env/lib/python3.8/site-packages/scvi/data/__init__.py:25
      1 from anndata import read_csv, read_h5ad, read_loom, read_text
      3 from ._datasets import (
      4     annotation_simulation,
      5     brainlarge_dataset,
   (...)
     23     synthetic_iid,
     24 )
---> 25 from ._manager import AnnDataManager, AnnDataManagerValidationCheck
     26 from ._preprocessing import (
     27     add_dna_sequence,
     28     organize_cite_seq_10x,
     29     organize_multiome_anndatas,
     30     poisson_gene_selection,
     31 )
     32 from ._read import read_10x_atac, read_10x_multiome

File ~/.conda/envs/HLCA_mapping_env/lib/python3.8/site-packages/scvi/data/_manager.py:22
     19 from scvi.utils import attrdict
     21 from . import _constants
---> 22 from ._utils import (
     23     _assign_adata_uuid,
     24     _check_if_view,
     25     _check_mudata_fully_paired,
     26     get_anndata_attribute,
     27 )
     28 from .fields import AnnDataField
     31 @dataclass
     32 class AnnDataManagerValidationCheck:

File ~/.conda/envs/HLCA_mapping_env/lib/python3.8/site-packages/scvi/data/_utils.py:19
     17     from anndata.experimental import read_elem
     18 except ImportError:
---> 19     from anndata._io.specs import read_elem
     21 from mudata import MuData
     22 from pandas.api.types import CategoricalDtype

ModuleNotFoundError: No module named 'anndata._io.specs'

Versions:

scvi-colab 0.12.0 scvi-tools 0.20.3 anndata 0.7.8

martinkim0 commented 1 year ago

Can you try reinstalling scvi-tools in a fresh virtual environment and check if this issue reproduces? Thanks!

martinkim0 commented 11 months ago

Is there an update to this issue? If not, I'll be closing it.