位置:首页 > Python > CentOS 下如何打包 Python 项目:用 setuptools 和 wheel 完成基础发布

CentOS 下如何打包 Python 项目:用 setuptools 和 wheel 完成基础发布

时间:2026-08-24  |  作者:夜鞌不睡  |  阅读:0

目录

  1. 先安装打包所需工具
  2. 在项目根目录编写 setup.py
  3. 生成可直接分发的 wheel 包
  4. 需要归档或审查时再生成源码包
  5. 上传前先检查,再决定是否发布到 PyPI

前言

在 CentOS 环境里打包 Python 项目,很多人并不是不会写代码,而是不清楚打包工具、`setup.py` 配置和最终产物之间的关系。本文按实际发布流程把命令、配置模板和两类常见产物梳理清楚,帮助你快速完成基础打包,并判断什么时候该生成 `wheel`,什么时候还要额外保留源码包。

在 CentOS 里发布 Python 项目,很多人一开始会卡在两个问题上:到底需要哪些工具,打包后又会得到什么文件。实际上,常规场景下用 setuptoolswheel 就能完成基础打包流程,从项目元信息填写到生成可分发文件,步骤并不多。

下面按实际操作顺序展开,既保留最核心的命令,也说明每一步产出的用途。看完之后,你可以判断自己是只需要生成 .whl,还是连源码包 .tar.gz 一起准备好,再决定是否继续上传到 PyPI 或其他包索引服务。

先安装打包所需工具

在开始之前,先在 CentOS 环境里安装打包依赖。这里用到的就是 setuptoolswheel

pip install setuptools wheel

setuptools 负责描述项目的元信息与打包规则,wheel 则用于生成 Python 常见的二进制分发包格式 .whl。如果这两个工具没有装好,后面的打包命令通常无法正常执行。

在项目根目录编写 setup.py

完成工具安装后,下一步是在项目根目录创建 setup.py。这个文件可以理解为项目打包时的基础说明书,至少要写清楚项目名、版本号、包含哪些包,以及运行依赖。

展示 setup.py 中关键字段与它们在打包过程中的作用关系
setup.py 关键信息一图看懂用结构化图示说明 setup.py 里最关键的 4 类信息。

一个基础模板如下:

from setuptools import setup, find_packages

setup(
    name='your_project_name',
    version='0.1',
    packages=find_packages(),
    install_requires=[
        # 依赖包列表,例如 'numpy>=1.18'
    ],
)

其中:

  • name 是项目发布后的包名;
  • version 是当前发布版本,例如 0.1
  • packages=find_packages() 用来自动查找需要被打进包里的 Python 模块;
  • install_requires 用于声明依赖包,例如 'numpy>=1.18'

如果这里的依赖项漏写,别人安装后就可能在运行阶段缺包报错;如果版本号管理混乱,后续发布和升级也会比较麻烦。

生成可直接分发的 wheel 包

setup.py 准备好后,就可以在该文件所在目录执行打包命令,生成 wheel 包:

python setup.py bdist_wheel

命令执行完成后,会在 dist 目录中生成一个 .whl 文件。这个文件就是项目的打包成品之一,适合直接分发给其他人安装。

对于安装方来说,wheel 包的优势在于安装过程更直接,通常比源码安装更省事。因此,如果你的目标是让团队成员或其他开发者尽快通过 pip 使用项目,优先生成 .whl 往往更合适。

需要归档或审查时再生成源码包

如果除了 wheel 包之外,你还想保留一份完整源码包用于审查、归档,或者提供给需要查看源码的使用者,可以继续执行:

展示 wheel 包与源码包的生成命令、产物名称及适用场景对比
wheel 包与源码包怎么选把两类常见打包产物放在同一张图里,读者可以快速判断何时只生成 wheel,何时连源码包一起准备。
python setup.py sdist

执行后,dist 目录里会多出一个 .tar.gz 文件。这个文件包含项目的完整源代码,常用于源码分发或留档。

可以简单理解为:

  • .whl 更偏向“安装方便”;
  • .tar.gz 更偏向“源码完整、便于查看和保存”。

实际发布时,是否两个都生成,取决于你的分发场景和接收方需求。

上传前先检查,再决定是否发布到 PyPI

.whl.tar.gz 生成完成后,就可以考虑把它们上传到 PyPI,或其他 Python 包索引服务。这样一来,其他开发者就能通过 pip install 你的项目名 安装你的项目。

不过在上传之前,最好先确认两件事:

  • 项目已经经过充分测试;
  • 所有依赖项都已经正确声明并安装。

这一步很关键。因为打包成功并不等于包一定可用,真正影响安装和运行体验的,往往是依赖是否完整、版本是否正确,以及项目本身是否已经验证通过。若这些内容没处理好,发布出去的包很容易在安装后直接报错。

免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多