环境:
- python3.9
错误如下:
from ._parser import parse_requirement as _parse_requirement
File "/usr/local/lib/python3.9/site-packages/pip/_vendor/packaging/_parser.py", line 12, in <module>
from ._tokenizer import DEFAULT_RULES, Tokenizer
File "/usr/local/lib/python3.9/site-packages/pip/_vendor/packaging/_tokenizer.py", line 12, in <module>
class Token:
File "/usr/local/lib/python3.9/site-packages/dataclasses.py", line 958, in dataclass
return wrap(_cls)
File "/usr/local/lib/python3.9/site-packages/dataclasses.py", line 950, in wrap
return _process_class(cls, init, repr, eq, order, unsafe_hash, frozen)
File "/usr/local/lib/python3.9/site-packages/dataclasses.py", line 800, in _process_class
cls_fields = [_get_field(cls, name, type)
File "/usr/local/lib/python3.9/site-packages/dataclasses.py", line 800, in <listcomp>
cls_fields = [_get_field(cls, name, type)
File "/usr/local/lib/python3.9/site-packages/dataclasses.py", line 659, in _get_field
if (_is_classvar(a_type, typing)
File "/usr/local/lib/python3.9/site-packages/dataclasses.py", line 550, in _is_classvar
return type(a_type) is typing._ClassVar
AttributeError: module 'typing' has no attribute '_ClassVar'
解决办法1
pip gives an AttributeError: module ‘typing’ has no attribute ‘_ClassVar’
pip uninstall dataclasses -y
解决方法2
如果连pip调用都会触发这个报错,就到依赖目录下把dataclasses文件都删除掉,包解决的。
rm -rf /usr/local/lib/python3.9/site-packages/dataclasses-0.6.dist-info \
rm -rf /usr/local/lib/python3.9/site-packages/dataclasses.py