ImportError: cannot import name ‘Protocol‘ from ‘typing‘ (/usr/local/python3.7.0/lib/python3.7/typin
我的环境是python 3.7.5。pre-commit检查代码报错
·
今天在运行pre-commit的时候出现了下面的错误:
INFO] Installing environment for https://github.com/Lucas-C/pre-commit-hooks.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
An unexpected error has occurred: CalledProcessError: Command: ('/root/.cache/pre-commit/repo2ipbsuzs/py_env-python3.7/bin/python', '/root/.cache/pre-commit/repo2ipbsuzs/py_env-python3.7/bin/pip', 'install', '.')
Return code: 1
Expected return code: 0
Output:
Processing /root/.cache/pre-commit/repo2ipbsuzs
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'error'
Errors:
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [38 lines of output]
Traceback (most recent call last):
File "/root/.cache/pre-commit/repo2ipbsuzs/py_env-python3.7/lib/python3.7/site-packages/setuptools/_vendor/importlib_metadata/_compat.py", line 9, in <module>
from typing import Protocol
ImportError: cannot import name 'Protocol' from 'typing' (/usr/local/python3.7.0/lib/python3.7/typing.py)
During handling of the above exception, another exception occurred:
......
我的环境是python 3.7.5
解决方法
查资料说 it should work since Python 3.8, try updating.
于是升级成python3.8:
conda create -n py38 python=3.8
conda activate py38
然后在虚拟的python3.8的环境里面pre-commit,然后就不报错了。
参考文献
更多推荐
已为社区贡献9条内容
所有评论(0)