AttributeError:模块“typing_extensions”没有属性“Protocol”

2024-06-26 18:00:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试运行以下代码:https://github.com/silviazuffi/smalst。然而,我使用Python3而不是Python2,因为在新的CUDA驱动程序中似乎不可能再使用Python2,并且由于该repo使用的某些库的兼容性问题

但是,我遇到了以下错误:

AttributeError: module 'typing_extensions' has no attribute 'Protocol'

完全回溯:

Traceback (most recent call last):
  File "/usr/lib/python3.8/runpy.py", line 193, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.8/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/home/iegorval/Diploma/smalst/smal_eval.py", line 21, in <module>
    from .nnutils import smal_predictor as pred_util
  File "/home/iegorval/Diploma/smalst/nnutils/smal_predictor.py", line 22, in <module>
    from ..nnutils.nmr import NeuralRenderer
  File "/home/iegorval/Diploma/smalst/nnutils/nmr.py", line 9, in <module>
    import chainer
  File "/home/iegorval/Diploma/smalst/venv_smallst/lib/python3.8/site-packages/chainer/__init__.py", line 10, in <module>
    from chainer import backends  # NOQA
  File "/home/iegorval/Diploma/smalst/venv_smallst/lib/python3.8/site-packages/chainer/backends/__init__.py", line 1, in <module>
    from chainer.backends import cuda  # NOQA
  File "/home/iegorval/Diploma/smalst/venv_smallst/lib/python3.8/site-packages/chainer/backends/cuda.py", line 46, in <module>
    from chainer.backends import intel64
  File "/home/iegorval/Diploma/smalst/venv_smallst/lib/python3.8/site-packages/chainer/backends/intel64.py", line 8, in <module>
    from chainer.configuration import config
  File "/home/iegorval/Diploma/smalst/venv_smallst/lib/python3.8/site-packages/chainer/configuration.py", line 5, in <module>
    from chainer import types  # NOQA
  File "/home/iegorval/Diploma/smalst/venv_smallst/lib/python3.8/site-packages/chainer/types.py", line 47, in <module>
    class AbstractInitializer(tpe.Protocol):
AttributeError: module 'typing_extensions' has no attribute 'Protocol'

因此,它无法检测typing_extensions模块中的Protocol。然而,我已经安装了typing-extensions==3.7.4.3https://pypi.org/project/typing-extensions/),PyPi描述似乎表明Protocol应该在那里

你知道如何修复这个错误吗


Tags: infrompyimporthomevenvlibline