
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
python3-distutils-enhanced 是一个基于 Python 3 的 Docker 镜像,集成了对标准库 distutils 的增强工具集合。该镜像旨在简化 Python 项目的构建、打包与分发流程,通过扩展 distutils 的原生功能,提供更高效、灵活的项目管理能力,适用于从简单脚本到复杂库的各类 Python 项目。
setup.py 中声明install_requires 的工作量setup.py 语法糖,支持 YAML/JSON 格式的配置文件(替代传统 setup.py 硬编码)setuptools、wheel、twine)pip、tox、pytest 等开发工具,支持一站式构建-测试-分发流程distutils/setuptools 的 Python 项目通过 Docker Hub 拉取最新版本:
bashdocker pull docker.xuanyuan.run/python3-distutils-enhanced:latest
或从源码构建(需本地克隆镜像仓库):
bashgit clone https://github.com/example/python3-distutils-enhanced.git cd python3-distutils-enhanced docker build -t python3-distutils-enhanced:local .
1. 快速打包当前项目
将当前目录下的 Python 项目打包为 wheel 格式:
bashdocker run --rm -v $(pwd):/app -w /app docker.xuanyuan.run/python3-distutils-enhanced:latest \ python -m setup bdist_wheel
-v $(pwd):/app:挂载当前项目目录到容器内 /app 路径-w /app:设置工作目录为 /apppython -m setup bdist_wheel:执行 wheel 打包命令(setup 为增强版打包入口)2. 使用配置文件自定义打包规则
创建项目配置文件 distutils.yaml:
yaml# distutils.yaml 示例 project: name: "myproject" version: "1.0.0" author: "Dev Team" files: include: - "src/**/*.py" - "data/*.json" exclude: - "tests/**/*" dependencies: install_requires: - "requests>=2.25.0" - "pyyaml>=5.4.0"
通过环境变量指定配置文件路径,执行打包:
bashdocker run --rm -v $(pwd):/app -w /app \ -e DISTUTILS_CONFIG=/app/distutils.yaml \ docker.xuanyuan.run/python3-distutils-enhanced:latest \ python -m setup sdist
创建 docker-compose.yml,集成项目构建与测试流程:
yamlversion: "3.8" services: build: image: docker.xuanyuan.run/python3-distutils-enhanced:latest volumes: - ./:/app # 挂载项目目录 - ./dist:/app/dist # 持久化输出的包文件 environment: - PYTHONPATH=/app # 设置 Python 路径 - DISTUTILS_CONFIG=/app/distutils.yaml # 指定配置文件 - PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple # 国内 PyPI 镜像(可选) command: > sh -c "python -m setup bdist_wheel && twine check dist/*" # 打包后校验包完整性
启动服务执行构建:
bashdocker-compose up build
环境变量
| 变量名 | 描述 | 默认值 |
|---|---|---|
PYTHONPATH | Python 模块搜索路径,用于指定项目源码位置 | /app |
DISTUTILS_CONFIG | 增强版 distutils 配置文件路径(支持 YAML/JSON 格式) | /app/setup.cfg |
PIP_INDEX_URL | PyPI 镜像源 URL,用于加速依赖下载 | https://pypi.org/simple |
CACHE_DIR | 构建缓存目录(存放依赖包、编译结果等) | /root/.cache/distutils-enhanced |
卷挂载建议
| 挂载路径 | 用途 |
|---|---|
/app | 挂载项目根目录,用于读取源码和配置文件 |
/app/dist | 挂载打包输出目录,持久化生成的 wheel/sdist 包 |
/root/.cache | 挂载缓存目录(可选),加速重复构建(需配合 CACHE_DIR 环境变量) |
命令行参数(python -m setup)
| 参数 | 描述 |
|---|---|
bdist_wheel | 生成 wheel 格式分发包 |
sdist | 生成源码分发包(tar.gz 格式) |
install | 安装项目到容器内 Python 环境(用于测试部署) |
clean | 清理构建缓存和临时文件 |
setup.py 或配置文件(DISTUTILS_CONFIG 指定路径),否则会使用默认模板生成基础配置/root/.cache 为非持久化路径,若需保留缓存,建议通过卷挂载到宿主机.git 仓库(或通过环境变量 VERSION 手动指定版本)您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务