jupyter-lab启动提示TypeError: Plain typing_extensions.Self is not valid as type argument
$ jupyter-lab
Traceback (most recent call last):
File "/usr/local/bin/jupyter-lab", line 5, in <module>
from jupyterlab.labapp import main
File "/usr/local/lib/python3.9/dist-packages/jupyterlab/labapp.py", line 45, in <module>
from .extensions import MANAGERS as EXT_MANAGERS
File "/usr/local/lib/python3.9/dist-packages/jupyterlab/extensions/__init__.py", line 12, in <module>
from .pypi import PyPIExtensionManager
File "/usr/local/lib/python3.9/dist-packages/jupyterlab/extensions/pypi.py", line 23, in <module>
from async_lru import alru_cache
File "/usr/local/lib/python3.9/dist-packages/async_lru/__init__.py", line 64, in <module>
class _LRUCacheWrapper(Generic[_R]):
File "/usr/local/lib/python3.9/dist-packages/async_lru/__init__.py", line 231, in _LRUCacheWrapper
) -> Union[Self, "_LRUCacheWrapperInstanceMethod[_R, _T]"]:
File "/usr/lib/python3.9/typing.py", line 268, in inner
return func(*args, **kwds)
File "/usr/lib/python3.9/typing.py", line 345, in __getitem__
return self._getitem(self, parameters)
File "/usr/lib/python3.9/typing.py", line 456, in Union
parameters = tuple(_type_check(p, msg) for p in parameters)
File "/usr/lib/python3.9/typing.py", line 456, in <genexpr>
parameters = tuple(_type_check(p, msg) for p in parameters)
File "/usr/lib/python3.9/typing.py", line 153, in _type_check
raise TypeError(f"Plain {arg} is not valid as type argument")
TypeError: Plain typing_extensions.Self is not valid as type argument
解决:
查看当前typing-extensions版本为4.0.0
$ pip3 show typing-extensions
Name: typing_extensions
Version: 4.0.0
Summary: Backported and Experimental Type Hints for Python 3.6+
Home-page:
Author:
Author-email: "Guido van Rossum, Jukka Lehtosalo, Łukasz Langa, Michael Lee" <levkivskyi@gmail.com>
License:
Location: /usr/local/lib/python3.9/dist-packages
Requires:
Required-by: astroid, async-lru, async-timeout, bpython, pylint, torch
升级typing-extensions
sudo -H pip3 install typing-extensions==4.5.0
问题解决。