专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像 官方专业版轩辕镜像 官方专业版官方专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 1072982923

stagex/py-setuptools Docker 镜像 - 轩辕镜像

py-setuptools
stagex/py-setuptools
提供针对Python3 distutils的一系列增强功能,用于优化Python包的构建与安装流程。
0 次下载
⚠️ 线上容器拉取慢、不稳定?拉镜像别再赌运气
中文简介版本下载
⚠️ 线上容器拉取慢、不稳定?拉镜像别再赌运气

python3-distutils-enhanced 镜像文档

镜像概述和主要用途

python3-distutils-enhanced 是一个基于 Python 3 的 Docker 镜像,集成了对标准库 distutils 的增强工具集合。该镜像旨在简化 Python 项目的构建、打包与分发流程,通过扩展 distutils 的原生功能,提供更高效、灵活的项目管理能力,适用于从简单脚本到复杂库的各类 Python 项目。

核心功能和特性

增强的打包能力
  • 支持自动识别并包含项目数据文件(如配置模板、静态资源等),无需手动在 setup.py 中声明
  • 内置依赖解析优化,可自动检测并处理项目依赖关系,减少手动维护 install_requires 的工作量
  • 支持动态版本号生成(基于 Git 标签、文件哈希等),简化版本管理流程
简化的配置体验
  • 提供精简的 setup.py 语法糖,支持 YAML/JSON 格式的配置文件(替代传统 setup.py 硬编码)
  • 内置常用打包规则模板(如 CLI 工具、Web 应用、库项目等),减少重复配置工作
兼容性与工具集成
  • 兼容 Python 3.6+ 版本,支持主流打包工具(setuptools、wheel、twine)
  • 无缝集成 pip、tox、pytest 等开发工具,支持一站式构建-测试-分发流程
  • 兼容 PyPI 及私有仓库(如 Azure Artifacts、GitLab Packages)的上传规范
性能与安全性优化
  • 内置缓存机制,加速重复构建过程(缓存依赖包、编译结果等)
  • 自动校验打包文件完整性,防止损坏或篡改的分发包生成

使用场景和适用范围

适用场景
  • Python 项目开发:需快速配置复杂打包逻辑的项目(如多模块结构、跨平台分发)
  • 开源库维护:需标准化分发流程(如自动生成 wheel/sdist 包、同步版本信息)
  • 企业内部应用部署:统一 Python 项目构建标准,降低环境差异导致的分发问题
  • 教学与演示:简化 Python 打包教学中的环境配置,聚焦核心逻辑讲解
适用范围
  • 支持所有基于 distutils/setuptools 的 Python 项目
  • 兼容主流操作系统(Linux x86_64/ARM64、macOS、Windows WSL2)
  • 推荐用于 Python 3.6+ 项目,对 Python 2 项目不提供支持

使用方法和配置说明

获取镜像

通过 Docker Hub 拉取最新版本:

bash
docker pull python3-distutils-enhanced:latest

或从源码构建(需本地克隆镜像仓库):

bash
git clone [***]
cd python3-distutils-enhanced
docker build -t python3-distutils-enhanced:local .
基本使用示例
1. 快速打包当前项目

将当前目录下的 Python 项目打包为 wheel 格式:

bash
docker run --rm -v $(pwd):/app -w /app python3-distutils-enhanced:latest \
  python -m setup bdist_wheel
  • -v $(pwd):/app:挂载当前项目目录到容器内 /app 路径
  • -w /app:设置工作目录为 /app
  • python -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"

通过环境变量指定配置文件路径,执行打包:

bash
docker run --rm -v $(pwd):/app -w /app \
  -e DISTUTILS_CONFIG=/app/distutils.yaml \
  python3-distutils-enhanced:latest \
  python -m setup sdist
Docker Compose 配置示例

创建 docker-compose.yml,集成项目构建与测试流程:

yaml
version: "3.8"
services:
  build:
    image: python3-distutils-enhanced:latest
    volumes:
      - ./:/app  # 挂载项目目录
      - ./dist:/app/dist  # 持久化输出的包文件
    environment:
      - PYTHONPATH=/app  # 设置 Python 路径
      - DISTUTILS_CONFIG=/app/distutils.yaml  # 指定配置文件
      - PIP_INDEX_URL=[***]  # 国内 PyPI 镜像(可选)
    command: >
      sh -c "python -m setup bdist_wheel && 
             twine check dist/*"  # 打包后校验包完整性

启动服务执行构建:

bash
docker-compose up build
配置参数说明
环境变量
变量名描述默认值
PYTHONPATHPython 模块搜索路径,用于指定项目源码位置/app
DISTUTILS_CONFIG增强版 distutils 配置文件路径(支持 YAML/JSON 格式)/app/setup.cfg
PIP_INDEX_URLPyPI 镜像源 URL,用于加速依赖下载[***]
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清理构建缓存和临时文件

注意事项

  1. 项目需确保存在 setup.py 或配置文件(DISTUTILS_CONFIG 指定路径),否则会使用默认模板生成基础配置
  2. 缓存目录 /root/.cache 为非持久化路径,若需保留缓存,建议通过卷挂载到宿主机
  3. 动态版本号生成依赖 Git 环境,需确保项目目录包含 .git 仓库(或通过环境变量 VERSION 手动指定版本)
查看更多 py-setuptools 相关镜像 →
stagex/busybox logo
stagex/busybox
尺寸优化的包含多种常见UNIX工具的工具箱
50K+ pulls
上次更新:未知
stagex/ca-certificates logo
stagex/ca-certificates
包含Mozilla提供的常用CA证书PEM文件,作为信任根证书集合,用于验证SSL/TLS证书的Docker镜像。
50K+ pulls
上次更新:未知
stagex/pallet-go logo
stagex/pallet-go
暂无描述
50K+ pulls
上次更新:未知
stagex/musl logo
stagex/musl
musl C库(libc)的Docker镜像实现,提供轻量级、高效且符合POSIX标准的C标准库环境,适用于构建和运行依赖musl的应用程序。
50K+ pulls
上次更新:未知
stagex/go logo
stagex/go
Go编程语言编译器镜像,提供Go开发环境和完整工具链,支持多版本Go语言,可用于编译、测试Go应用程序,适用于开发、CI/CD流程及容器化构建场景,实现隔离且一致的Go编译环境。
50K+ pulls
上次更新:未知
stagex/openssl logo
stagex/openssl
传输层安全(TLS)工具包,集成多种TLS相关工具,用于证书管理、配置验证、安全诊断及协议实现,简化安全通信协议的部署与维护。
50K+ pulls
上次更新:未知

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

MacOS OrbStack

MacOS OrbStack 容器配置

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
stagex/py-setuptools
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
咨询镜像拉取问题请 提交工单,官方技术交流群:1072982923
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
咨询镜像拉取问题请提交工单,官方技术交流群:
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.