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 不兼容,新版函数参数变了,导致安装失败

最简单、最稳妥的解决方法

直接在你的虚拟环境里执行这2 条命令
# 降级 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,新版已经不支持这个参数,直接报错

额外建议(避免以后再踩坑)

如果你之后还要安装其他旧 Python 包,可以一并把 wheel 也固定成稳定版:
pip install setuptools==57.5.0 wheel==0.37.1
 

总结

  1. 报错根源:新版 setuptools 不兼容旧包
  2. 解决:降级 setuptools == 57.5.0
  3. 再重新安装目标包即可成功

 

posted @ 2026-05-21 10:01  emanlee  阅读(5)  评论(0)    收藏  举报