You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django2应用安装报错:无法找到满足要求的certifi版本

Django应用安装失败?来看certifi版本找不到的问题解决办法

嘿,我来帮你分析下这个头疼的问题!你说你是Python/Django新手,基于Django 2.0做了个应用,跟着官方文档打包后,执行安装命令时碰上个报错——找不到certifi==2018.1.18这个版本。

先理清楚你的问题场景

你通过pip freeze > requirements.txt生成了依赖文件,复现步骤是:

  • 下载应用压缩包:
    $ wget https://github.com/k-tamura/easybuggy4django/releases/download/0.0.1/django-easybuggy-0.1.tar.gz
    
  • 执行安装命令后出现报错:
    Processing ./django-easybuggy-0.1.tar.gz
    Collecting certifi==2018.1.18 (from django-easybuggy==0.1)
    Could not find a version that satisfies the requirement certifi==2018.1.18 (from django-easybuggy==0.1) (from versions: )
    No matching distribution found for certifi==2018.1.18 (from django-easybuggy==0.1)
    

为啥会出现这个错误?

  1. 旧版本被安全下架:certifi是负责SSL证书管理的核心包,很多老旧版本因为存在安全漏洞,会被PyPI官方主动移除。你指定的2018.1.18版本年代太久远,很大概率已经从仓库中被删除了,所以pip找不到它。
  2. 依赖文件过于死板:pip freeze会把当前环境里所有包的精确版本都列出来,包括那些你没主动安装的间接依赖(比如certifi可能是Django的依赖)。精确锁定版本虽然能保证环境一致,但一旦某个旧版本下架,就会直接导致安装失败。
  3. pip源同步问题:如果你用的是非官方PyPI镜像源,可能这个镜像没有同步这个非常老旧的版本,也会出现找不到的情况。

怎么解决?

方法1:放宽certifi的版本限制(最推荐)

打开你的requirements.txt,把certifi==2018.1.18改成版本范围,比如:

  • certifi>=2018.1.18:允许安装2018.1.18及以上的所有兼容版本
  • certifi~=2018.1:允许安装2018.x系列的小版本更新(比如2018.1.18、2018.2.28等)
    改完之后重新打包你的应用,再执行安装命令就行。这样既保证了兼容性,又不会因为旧版本下架而卡住。

方法2:尝试手动安装旧版本(仅当版本未完全下架时有效)

如果实在想用这个旧版本,可以先试试从官方源手动安装:

# 尝试从官方PyPI源安装指定版本的certifi
$ pip install --user certifi==2018.1.18 -i https://pypi.org/simple/
# 成功后再安装你的应用
$ pip install --user django-easybuggy-0.1.tar.gz

不过要提醒你,如果PyPI已经完全移除了这个版本,这个方法就没用了,还是优先用方法1。

方法3:更换pip源解决同步问题

如果是镜像源没同步这个旧版本,试试临时用官方源安装:

$ pip install --user django-easybuggy-0.1.tar.gz -i https://pypi.org/simple/

或者长期配置国内靠谱的镜像源(比如阿里云),既能解决同步问题,还能提升下载速度:

  • Linux/macOS:在用户目录下创建~/.pip/pip.conf,内容如下:
    [global]
    index-url = https://mirrors.aliyun.com/pypi/simple/
    
  • Windows:在%APPDATA%\pip目录下创建pip.ini,内容同上。

给新手的小建议

打包可复用应用时,别直接用pip freeze生成的requirements.txt,最好手动整理依赖——只列出你主动用到的包,并且用版本范围而不是精确版本。比如Django可以写Django~=2.0,这样既兼容2.0.x的所有小版本,又不会自动升级到2.1+,避免兼容性问题。另外,定期检查依赖的安全更新,及时升级也是个好习惯。

内容的提问来源于stack exchange,提问作者Kohei TAMURA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:52:06