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

Circle CI构建Django项目时无法安装Django 2.0.1的原因排查

嘿,我之前也碰到过Circle CI安装旧版Django失败的情况,结合你说的Gitlab CI能正常跑的情况,应该是Circle CI的环境配置和Gitlab不一样导致的,给你几个具体的排查和解决方向:

排查与解决Django 2.0.1在Circle CI安装失败的问题

1. 先检查Circle CI使用的Python版本

Django 2.0.1只兼容Python 3.4、3.5、3.6,如果Circle CI默认给你用了Python 3.7及以上的版本,pip会因为版本不匹配直接找不到合适的Django包,自然安装失败。而Gitlab CI应该是用了符合要求的Python版本。

解决方法:在你的.circleci/config.yml里明确指定兼容的Python版本,比如:

version: 2.1
jobs:
  build:
    docker:
      - image: circleci/python:3.6.15  # 选一个Django2.0.1支持的Python版本
    steps:
      - checkout
      - run:
          name: Set up environment and install dependencies
          command: |
            python -m venv venv
            . venv/bin/activate
            pip install --upgrade pip
            pip install -r requirements.txt

2. 升级Pip后再安装依赖

旧版本的pip对一些老包的索引解析或者下载支持不太好,Circle CI环境里的默认pip版本可能比较老旧,导致没办法正确获取Django 2.0.1的安装包。

解决方法:在安装requirements里的依赖之前,先强制升级pip,把这个步骤加到你的Circle CI构建命令里:

pip install --upgrade pip
pip install -r requirements.txt

很多时候升级pip就能解决旧包安装失败的问题。

3. 尝试切换PyPI镜像源

有时候Circle CI的网络环境访问默认的PyPI源不稳定,或者某些源没有保留旧版本的Django包。你可以试试切换到国内的镜像源(比如阿里云)来安装依赖:

pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/

不过如果你的requirements里包含私有包的话,这个方法可能不适用,需要单独处理私有包的源。

4. 手动指定Django包的下载地址(备选方案)

如果前面的方法都没效果,可以直接在requirements.txt里指定Django 2.0.1的包地址,把原来的Django==2.0.1改成:

Django==2.0.1 --find-links=https://pypi.org/packages/source/D/Django/

这个方法比较小众,优先尝试前面的三个方案。

总的来说,既然Gitlab CI能正常安装,说明你的requirements.txt本身是没问题的,核心就是调整Circle CI的环境配置,匹配Django 2.0.1的安装要求。修改完配置后重新触发构建应该就能解决啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:58:02