setuptools是干嘛用的?为什么报错总是因为它?

网络:DLNR
环境:win10+pytorch

conda list
setuptools                65.0.0                   pypi_0    pypi
typing-extensions         4.6.0                    pypi_0    pypi

通过实验试出是setuptools版本太高,但不知道为什么?报错如下,哪位同志看到知道可留言讨论下~~~
ps.很多其他的报错也是setuptools版本太高引起的,一直不知道为什么~ 留个坑先~

C:\Users\26735\anaconda3\envs\pytorch\python.exe D:/DLNR/train_stereo.py
Traceback (most recent call last):
  File "C:\Users\26735\anaconda3\envs\pytorch\lib\site-packages\setuptools\_vendor\importlib_metadata\_compat.py", line 9, in <module>
    from typing import Protocol
ImportError: cannot import name 'Protocol' from 'typing' (C:\Users\26735\anaconda3\envs\pytorch\lib\typing.py)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:DLNR/train_stereo.py", line 9, in <module>
    from torch.utils.tensorboard import SummaryWriter
  File "C:\Users\26735\anaconda3\envs\pytorch\lib\site-packages\torch\utils\tensorboard\__init__.py", line 2, in <module>
    from setuptools import distutils
  File "C:\Users\26735\anaconda3\envs\pytorch\lib\site-packages\setuptools\__init__.py", line 18, in <module>
    from setuptools.dist import Distribution
  File "C:\Users\26735\anaconda3\envs\pytorch\lib\site-packages\setuptools\dist.py", line 34, in <module>
    from ._importlib import metadata
  File "C:\Users\26735\anaconda3\envs\pytorch\lib\site-packages\setuptools\_importlib.py", line 38, in <module>
    from setuptools.extern import importlib_metadata as metadata
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 670, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 583, in module_from_spec
  File "C:\Users\26735\anaconda3\envs\pytorch\lib\site-packages\setuptools\extern\__init__.py", line 52, in create_module
    return self.load_module(spec.name)
  File "C:\Users\26735\anaconda3\envs\pytorch\lib\site-packages\setuptools\extern\__init__.py", line 37, in load_module
    __import__(extant)
  File "C:\Users\26735\anaconda3\envs\pytorch\lib\site-packages\setuptools\_vendor\importlib_metadata\__init__.py", line 17, in <module>
    from . import _adapters, _meta
  File "C:\Users\26735\anaconda3\envs\pytorch\lib\site-packages\setuptools\_vendor\importlib_metadata\_meta.py", line 1, in <module>
    from ._compat import Protocol
  File "C:\Users\26735\anaconda3\envs\pytorch\lib\site-packages\setuptools\_vendor\importlib_metadata\_compat.py", line 11, in <module>
    from ..typing_extensions import Protocol  # type: ignore
  File "C:\Users\26735\anaconda3\envs\pytorch\lib\site-packages\setuptools\_vendor\typing_extensions.py", line 416, in <module>
    extra=collections.OrderedDict):
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases

Process finished with exit code 1
File "C:\Users\26735\anaconda3\envs\pytorch\lib\site-packages\setuptools\_vendor\typing_extensions.py", line 416, in <module>
    extra=collections.OrderedDict):
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases

看这行报错以为是typing-extensions的问题,试了几个版本没什么用。而且按照TypeError百度了之后说是类继承冲突,这我也不懂啊!

 File "C:\Users\26735\anaconda3\envs\pytorch\lib\site-packages\setuptools\_importlib.py", line 38, in <module>
    from setuptools.extern import importlib_metadata as metadata

看报错里面有上面那行,想起之前工程运行时setuptools版本过高报过错,所以把setuptools版本从65降成58,就可以运行了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值