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

集成AzureSQL时遇Django版本依赖冲突,求解决方案

解决Django版本冲突与AzureSQL集成问题

核心思路:统一到长期支持的Django版本,匹配兼容的依赖包

Django 2.1.15已停止维护,存在安全隐患,且与你使用的djangorestframework、django-cors-headers新版本不兼容。同时AzureSQL完全支持Django 3.2 LTS(长期支持版本),所以优先将Django升级到3.2,再调整冲突依赖的版本:

  • 调整依赖版本:创建或修改requirements.txt,指定兼容的版本号:
    Django~=3.2.25  # 3.2系列最新LTS版本
    djangorestframework~=3.14.0  # 支持Django 2.2-4.1,适配3.2
    django-cors-headers~=3.13.0  # 支持Django 2.2-4.1,适配3.2
    pyodbc>=4.0.39  # AzureSQL所需驱动
    django-pyodbc-azure>=2.1.0.0  # 适配AzureSQL的Django数据库后端
    
  • 用虚拟环境隔离依赖:避免全局环境混乱
    1. 创建虚拟环境:python -m venv azure-sql-env
    2. 激活环境:
      • Windows:azure-sql-env\Scripts\activate
      • Linux/macOS:source azure-sql-env/bin/activate
    3. 安装依赖:pip install -r requirements.txt

特殊情况处理:如果有依赖强制要求Django 2

如果确实有依赖包只能在Django 2下运行,先查这个包有没有更新版本支持高版本Django——要是没有,要么找替代包,要么接受安全风险继续用Django 2,但此时需要把冲突的依赖降级到支持Django 2.1的版本:

  • djangorestframework最高支持Django 2.1的版本是3.9.x,指定djangorestframework~=3.9.0
  • django-cors-headers最高支持Django 2.1的版本是2.5.x,指定django-cors-headers~=2.5.0

你遇到的报错信息:

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
djangorestframework 3.15.2 requires django>=4.2, but you have django 2.1.15 which is incompatible.
django-cors-headers 4.4.0 requires django>=3.2, but you have django 2.1.15 which is incompatible.

内容的提问来源于stack exchange,提问作者Affi Amine

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 16:02:42