为什么我在导入scanpy._compat时出现错误?

问题描述 投票:0回答:1

你好,我是新来的,所以很抱歉,我的语言可能会导致不准确.我在conda环境下工作,我安装了scanpy。然而,当我导入scanpy._compat模块时,它返回一个导入错误。

from scanpy._compat import Literal

ModuleNotFoundError: No module named 'scanpy._compat'

我试图升级scanpy._compat模块。pip install --upgrade scanpy 我还按照scanpy github上的安装步骤创建了另一个conda环境(https:/github.comtheislabscanpyblobmasterdocsinstallation.rst。). 在后两种情况下,除了导入scanpy._compat模块外,一切都很好。

有人知道我是否做错了什么吗?

conda failed-installation scanpy
1个回答
1
投票

_compat.py 你会注意到,我们提供了以下代码。

第一:

try:
    from typing import Literal

而对于异常,

except ImportError:
    try:
        from typing_extensions import Literal
    except ImportError:

        class LiteralMeta(type):
            def __getitem__(cls, values):
                if not isinstance(values, tuple):
                    values = (values,)
                return type('Literal_', (Literal,), dict(__args__=values))

        class Literal(metaclass=LiteralMeta):
            pass

因此,当你试图 import Literal你也可以通过以下方式来规避这个问题。importing typing 并做 typing.Literal (python版本 >3.8 ),不管你想把代码应用在什么情况下。

然而,这个问题表明 scanpy 根本无法导入。确保在安装环境后也要激活它。

$ conda info --envs 要知道你所拥有的环境的名称$ conda activate [relevant env name] 来激活相关的conda环境。

然后再次尝试代码。

$ python 进入pythoninterpreter

> from scanpy._compat import Literal 来测试导入是否有效。

© www.soinside.com 2019 - 2024. All rights reserved.