explosion/spaCy

TypeError: Plain typing.NoReturn is not valid as type argument

sergeyf opened this issue · 3 comments

Thanks for the incredible software!

How to reproduce the behaviour

Just doing import spacy I get this:

In [1]: import spacy
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-1-76a01d9c502b> in <module>
----> 1 import spacy

~/miniconda3/envs/s2aff/lib/python3.7/site-packages/spacy/__init__.py in <module>
     12 from thinc.api import Config
     13
---> 14 from . import pipeline  # noqa: F401
     15 from .cli.info import info  # noqa: F401
     16 from .glossary import explain  # noqa: F401

~/miniconda3/envs/s2aff/lib/python3.7/site-packages/spacy/pipeline/__init__.py in <module>
----> 1 from .attributeruler import AttributeRuler
      2 from .dep_parser import DependencyParser
      3 from .entity_linker import EntityLinker
      4 from .ner import EntityRecognizer
      5 from .entityruler import EntityRuler

~/miniconda3/envs/s2aff/lib/python3.7/site-packages/spacy/pipeline/attributeruler.py in <module>
      4 from pathlib import Path
      5
----> 6 from .pipe import Pipe
      7 from ..errors import Errors
      8 from ..training import validate_examples, Example

~/miniconda3/envs/s2aff/lib/python3.7/site-packages/spacy/pipeline/pipe.pyx in init spacy.pipeline.pipe()

~/miniconda3/envs/s2aff/lib/python3.7/site-packages/spacy/strings.pyx in init spacy.strings()

~/miniconda3/envs/s2aff/lib/python3.7/site-packages/spacy/util.py in <module>
   1522     proc: "Pipe",
   1523     name: str,
-> 1524     default_error_handler: Callable[[str, "Pipe", List["Doc"], Exception], NoReturn],
   1525     kwargs: Mapping[str, Any],
   1526 ) -> Iterator["Doc"]:

~/miniconda3/envs/s2aff/lib/python3.7/typing.py in __getitem__(self, params)
    753                                 f" Got {args}")
    754             params = (tuple(args), result)
--> 755         return self.__getitem_inner__(params)
    756
    757     @_tp_cache

~/miniconda3/envs/s2aff/lib/python3.7/typing.py in inner(*args, **kwds)
    249         except TypeError:
    250             pass  # All real errors (not unhashable args) are raised below.
--> 251         return func(*args, **kwds)
    252     return inner
    253

~/miniconda3/envs/s2aff/lib/python3.7/typing.py in __getitem_inner__(self, params)
    772             args, result = params
    773             msg = "Callable[args, result]: result must be a type."
--> 774             result = _type_check(result, msg)
    775             if args is Ellipsis:
    776                 return self.copy_with((_TypingEllipsis, result))

~/miniconda3/envs/s2aff/lib/python3.7/typing.py in _type_check(arg, msg, is_argument)
    133     if (isinstance(arg, _SpecialForm) and arg is not Any or
    134             arg in (Generic, _Protocol)):
--> 135         raise TypeError(f"Plain {arg} is not valid as type argument")
    136     if isinstance(arg, (type, TypeVar, ForwardRef)):
    137         return arg

TypeError: Plain typing.NoReturn is not valid as type argument

Your Environment

  • Operating System: Ubuntu 16.04.6 LTS
  • Python Version Used: 3.7.0
  • spaCy Version Used:
spacy                     3.1.4                    pypi_0    pypi
spacy-legacy              3.0.8                    pypi_0    pypi
spacy-lookups-data        1.0.3                    pypi_0    pypi

It seems to be a Python bug (cf. python/cpython@f71a592) 🤔
Newer versions should work (>=3.7.2).

Yup, upgrading fixed it! Weird one... Thanks!

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.