logo
0
0
WeChat Login
更新开发环境:Python 3.13.11 + Django 5.2.10 (LTS)

npm i -g @cloudbase/cli

Python 3.13.11 + Django 5.2.10 开发环境配置

版本说明

  • Python: 3.13.11(最新维护版本)
  • Django: 5.2.10(LTS 长期支持版本,最稳定)
    • 如需使用最新版本,可选择 Django 6.0.1(短期支持版本)

通过 DOCKERFILE 自定义 Python 3.13.11 + Django 5.2.10 开发环境

在仓库根目录下增加 .ide/Dockerfile 文件,自定义 Python 3.13.11 和 Django 5.2.10(LTS 最稳定版本)的开发环境。

# 使用 Python 3.13.11 官方镜像作为基础镜像(最新维护版本) FROM python:3.13.11-slim # 安装必要的系统依赖 RUN apt-get update && apt-get install -y \ curl \ git \ wget \ unzip \ openssh-server \ build-essential \ libpq-dev \ nodejs \ npm \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* # 安装 code-server 和 vscode 常用插件 RUN curl -fsSL https://code-server.dev/install.sh | sh \ && code-server --install-extension cnbcool.cnb-welcome \ && code-server --install-extension redhat.vscode-yaml \ && code-server --install-extension dbaeumer.vscode-eslint \ && code-server --install-extension waderyan.gitblame \ && code-server --install-extension mhutchie.git-graph \ && code-server --install-extension donjayamanne.githistory \ && code-server --install-extension tencent-cloud.coding-copilot \ && echo done # 安装 Python 相关的 VSCode 插件 RUN code-server --install-extension ms-python.python \ && code-server --install-extension ms-python.vscode-pylance \ && code-server --install-extension ms-python.debugpy \ && code-server --install-extension ms-python.isort \ && code-server --install-extension ms-python.black-formatter \ && code-server --install-extension njpwerner.autodocstring \ && echo "Python extensions installed" # 配置 pip 使用国内镜像源并升级 pip RUN pip install --upgrade pip \ && pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple # 安装 Django 5.2.10(LTS 长期支持版本,最稳定)及常用开发工具 # 注意:如需使用最新版本 Django 6.0.1,可将 Django==5.2.10 替换为 Django==6.0.1 RUN pip install --no-cache-dir \ Django==5.2.10 \ djangorestframework==3.15.2 \ django-cors-headers==4.5.0 \ python-decouple==3.8 \ psycopg2-binary==2.9.10 \ redis==5.2.0 \ celery==5.4.0 \ gunicorn==23.0.0 \ uvicorn==0.32.0 \ pillow==11.0.0 \ django-filter==24.3 \ django-extensions==3.2.3 \ drf-spectacular==0.27.2 \ coverage==7.6.1 \ pytest==8.3.3 \ pytest-django==4.9.0 \ black==24.10.0 \ flake8==7.1.1 \ isort==5.13.2 \ mypy==1.11.2 \ django-debug-toolbar==4.4.6 \ && echo "Django and Python packages installed" # 指定字符集支持命令行输入中文 ENV LANG C.UTF-8 ENV LANGUAGE C.UTF-8 ENV PYTHONUNBUFFERED 1 # 设置工作目录 WORKDIR /workspace

同时自定义开发环境和启动流程

自定义启动流水线 (.cnb.yml)

# .cnb.yml $: vscode: - docker: build: .ide/Dockerfile # 可选择是否同时定义 build 和 image # 此时会优先使用 .ide/Dockerfile 构建镜像 # 如果 .ide/Dockerfile 构建失败,则使用 image 指定的镜像保证环境能启动成功 # image: python:3.13 services: - vscode - docker # 开发环境启动后会执行的任务 stages: - name: check-python script: python --version - name: check-django script: python -c "import django; print('Django version:', django.__version__)" - name: check-node script: node --version - name: list-installed script: pip list | head -20

使用说明

1. 首次启动开发环境

开发环境启动后,会自动检查 Python 和 Django 版本。

2. 创建新的 Django 项目

# 在终端中运行 init-django.sh

或手动创建:

# 创建 Django 项目 django-admin startproject myproject # 或在当前目录创建 django-admin startproject config . # 运行数据库迁移 python manage.py migrate # 创建超级管理员 python manage.py createsuperuser # 启动开发服务器 python manage.py runserver

3. 安装的 Python 包说明

包名版本用途
Django5.2.10Web 框架(LTS 长期支持版本,最稳定)
djangorestframework3.15.2Django REST API 框架
django-cors-headers4.5.0跨域请求处理
psycopg2-binary2.9.10PostgreSQL 数据库驱动
redis5.2.0Redis 客户端
celery5.4.0异步任务队列
gunicorn23.0.0WSGI HTTP 服务器
uvicorn0.32.0ASGI 服务器
drf-spectacular0.27.2OpenAPI schema 生成
pytest-django4.9.0Django 测试框架

4. 代码格式化和检查

# 代码格式化 black . isort . # 代码检查 flake8 . # 类型检查 mypy .

5. 运行测试

# 运行所有测试 pytest # 查看测试覆盖率 pytest --cov=. # 生成覆盖率报告 coverage report coverage html

环境变量配置

可以在项目根目录创建 .env 文件配置环境变量:

# .env DEBUG=True SECRET_KEY=your-secret-key-here DATABASE_URL=postgresql://user:password@localhost:5432/dbname REDIS_URL=redis://localhost:6379/0 ALLOWED_HOSTS=localhost,127.0.0.1

常用命令

# 创建 Django 应用 python manage.py startapp myapp # 数据库迁移 python manage.py makemigrations python manage.py migrate # 收集静态文件 python manage.py collectstatic # Django Shell python manage.py shell # 查看所有 URL python manage.py show_urls

配置差异说明

与原 CNB 自定义开发环境文档相比,本配置有以下增强:

1. 基础镜像变更

  • 原文档: FROM node:20
  • 本配置: FROM python:3.13-slim(同时包含 Node.js 和 npm)

2. 新增 Python 环境

  • Python 3.13.11 官方镜像(最新维护版本)
  • pip 国内镜像源配置(阿里云 + 清华大学 + 中科大)
  • 完整的 Django 5.2.10(LTS)开发工具链

3. 新增 VSCode Python 插件

  • ms-python.python - Python 语言支持
  • ms-python.vscode-pylance - 智能代码提示
  • ms-python.debugpy - 调试器
  • ms-python.isort - import 排序
  • ms-python.black-formatter - 代码格式化
  • njpwerner.autodocstring - 自动生成文档字符串

4. 新增系统依赖

  • nodejsnpm - Node.js 支持
  • build-essential - 编译工具链
  • libpq-dev - PostgreSQL 开发库

5. 新增 Python 包

完整的 Django 开发栈,包含 24 个常用包:

  • Web 框架:Django 5.2.10(LTS)、DRF 3.15.2
  • 数据库:psycopg2-binary、redis
  • 异步:celery、uvicorn
  • 测试:pytest、pytest-django、coverage
  • 代码质量:black、flake8、isort、mypy
  • 工具:django-extensions、django-debug-toolbar、drf-spectacular

6. 启动流程增强

# 新增环境检查任务 - check-python # Python 版本检查 - check-django # Django 版本检查 - check-node # Node.js 版本检查 - list-installed # 已安装包列表(前20个)

7. 兼容性说明

本配置同时支持:

  • Python 3.13.11 开发(支持 Python 3.10–3.14)
  • Django 5.2.10(LTS)项目开发(支持 Python 3.10–3.14)
  • Node.js 前端开发
  • Docker 容器内开发

8. 版本选择建议

  • 推荐使用 Django 5.2.10(LTS):长期支持版本,适合生产环境,稳定可靠
  • 可选使用 Django 6.0.1:最新短期支持版本,包含最新特性,适合追求新功能的项目

9. 注意事项

  1. 使用 python:3.13.11-slim 镜像,体积较小
  2. 系统依赖安装后自动清理缓存
  3. pip 镜像源使用阿里云主源 + 清华大学和中科大备用源,加速国内下载
  4. 环境变量 PYTHONUNBUFFERED=1 确保 Python 输出实时显示
  5. 中文支持通过 LANG=C.UTF-8 配置
  6. Django 5.2.10 是 LTS 版本,提供长期支持直到 2027 年 4 月
  7. 如需切换到 Django 6.0.1,只需将 Dockerfile 中的 Django==5.2.10 替换为 Django==6.0.1