pip install django-ranged-response==0.2.0
(myvenv) root@aaa:~# pip install django-ranged-response==0.2.0
Collecting django-ranged-response==0.2.0
Using cached django-ranged-response-0.2.0.tar.gz (3.0 kB)
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [40 lines of output]
running egg_info
creating /tmp/pip-pip-egg-info-btfejxwz/django_ranged_response.egg-info
writing /tmp/pip-pip-egg-info-btfejxwz/django_ranged_response.egg-info/PKG-INFO
writing dependency_links to /tmp/pip-pip-egg-info-btfejxwz/django_ranged_response.egg-info/dependency_links.txt
writing requirements to /tmp/pip-pip-egg-info-btfejxwz/django_ranged_response.egg-info/requires.txt
writing top-level names to /tmp/pip-pip-egg-info-btfejxwz/django_ranged_response.egg-info/top_level.txt
writing manifest file '/tmp/pip-pip-egg-info-btfejxwz/django_ranged_response.egg-info/SOURCES.txt'
reading manifest file '/tmp/pip-pip-egg-info-btfejxwz/django_ranged_response.egg-info/SOURCES.txt'
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "<pip-setuptools-caller>", line 34, in <module>
File "/tmp/pip-install-4r40ycmm/django-ranged-response_a4f5d737fbd241e0aaff21e2fbabd40b/setup.py", line 5, in <module>
setup(
File "/home/glei/backend/myvenv/lib/python3.8/site-packages/setuptools/__init__.py", line 117, in setup
return distutils.core.setup(**attrs)
File "/home/glei/backend/myvenv/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 183, in setup
return run_commands(dist)
File "/home/glei/backend/myvenv/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 199, in run_commands
dist.run_commands()
File "/home/glei/backend/myvenv/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 954, in run_commands
self.run_command(cmd)
File "/home/glei/backend/myvenv/lib/python3.8/site-packages/setuptools/dist.py", line 999, in run_command
super().run_command(command)
File "/home/glei/backend/myvenv/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 973, in run_command
cmd_obj.run()
File "/home/glei/backend/myvenv/lib/python3.8/site-packages/setuptools/command/egg_info.py", line 312, in run
self.find_sources()
File "/home/glei/backend/myvenv/lib/python3.8/site-packages/setuptools/command/egg_info.py", line 320, in find_sources
mm.run()
File "/home/glei/backend/myvenv/lib/python3.8/site-packages/setuptools/command/egg_info.py", line 546, in run
self.prune_file_list()
File "/home/guolei/backend/myvenv/lib/python3.8/site-packages/setuptools/command/sdist.py", line 162, in prune_file_list
super().prune_file_list()
File "/home/guolei/backend/myvenv/lib/python3.8/site-packages/setuptools/_distutils/command/sdist.py", line 380, in prune_file_list
base_dir = self.distribution.get_fullname()
File "/home/guolei/backend/myvenv/lib/python3.8/site-packages/setuptools/_core_metadata.py", line 267, in get_fullname
return _distribution_fullname(self.get_name(), self.get_version())
File "/home/glei/backend/myvenv/lib/python3.8/site-packages/setuptools/_core_metadata.py", line 285, in _distribution_fullname
canonicalize_version(version, strip_trailing_zero=False),
TypeError: canonicalize_version() got an unexpected keyword argument 'strip_trailing_zero'
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
django-ranged-response==0.2.0 时出现了setuptools 版本不兼容的报错,核心原因是:
最简单、最稳妥的解决方法
# 降级 setuptools 到兼容版本
pip install setuptools==57.5.0
# 重新安装目标包
pip install django-ranged-response==0.2.0
为什么会报错?
django-ranged-response==0.2.0是非常老旧的包(2018 年)- 你虚拟环境里的
setuptools版本太新,函数参数改了 - 旧包调用
canonicalize_version()时传了strip_trailing_zero,新版已经不支持这个参数,直接报错
额外建议(避免以后再踩坑)
wheel 也固定成稳定版:
pip install setuptools==57.5.0 wheel==0.37.1
总结
- 报错根源:新版 setuptools 不兼容旧包
- 解决:降级 setuptools == 57.5.0
- 再重新安装目标包即可成功

浙公网安备 33010602011771号