





作者:[美] 戴恩·希拉德( Dane Hillard )著 郭涛 译
定价:69.8元
印次:1-1
ISBN:9787302694007
出版日期:2025.07.01
印刷日期:2025.07.08
图书责编:王军
图书分类:零售
"成功的Python包应该安装简便、运行稳定,并能持续可靠地更新。发布一个完美的Python包需要遵循严谨的流程体系,包括系统化测试和代码审查,以及完善的文档体系。值得庆幸的是,Python生态提供了丰富的工具和技术,可实现从项目初始化到版本发布的全流程自动化。 本书深度解析了以自动化和可扩展的方式共享Python代码的实用流程。通过实际操作,读者可轻松掌握**打包工具的运用技巧,深入了解包测试和持续集成的方方面面,甚至可获得创建可持续开源项目的专业技巧,包括许可协议、文档编写及培育贡献者社区等关键维度。 ?构建扩展模块和控制台脚本命令 ?通过自动审查和测试,提升代码质量 ?创建出色的文档 ?利用pyupgrade和Dependabot保持软件包的**版本"
Dane Hilard是一位专注于使用Python开发Web应用的资深技术专家。Dane Hillard现任ITHAKA(一家致力于高等教育领域的非营利组织)的技术架构师。他经验丰富,曾为支持数百万用户的JSTOR研究平台构建应用架构。目前,他还对安全、松耦合系统和形式化方法感兴趣。
译者序 “Talk is cheap, show me the code”(空谈无益,代码为证)。程序员始终追求优雅的代码和规范的注释。但现实往往令人失望,通常是好不容易在GitHub找到了源码,却发现没有注释、说明文档和接口文档,这让很多人望而却步。在安装他人发布的软件包时,也时常会遇到莫名其妙的报错,费尽周折也找不到解决之道,在项目GitHub主页上也找不到合适的解决方案。这是很多从业人员不得不面对的现实问题。 那么,在发布自己的软件包以及对应的技术文档时,是否有工具可用?文档撰写是否有一定的标准呢?严格来说,不同语言的软件包发布通常涉及多个工具,技术文档也缺乏强制标准。然而,行业内已形成共识,程序员应遵守一些基本的规范和约定。 本书是一本关于Python打包与发布的工具书,旨在手把手指导读者完成整个软件包的创建过程,包括维护测试套件、自动化代码质量、持续集成、编写与维护文档、构建社区和更新代码。一眼望去,整个流程漫长而又烦琐,你甚至还会在读完全书后感慨发布工具之多。的确,发布自己的软件包并构建技术社区,是一件任重道远但又极具价值的事。 要做好这件事,首先,要对技术抱有极大的热情,具有奉献精神;其次,要在自己发布软件包的相关领域持续跟进和集成;最后,甚至要成为一个兜售者,热情地为技术会议上的每个同行介绍自己的软件包。有些人甚至会牺牲陪伴家人的时间和休息时间来全身心投入这项工作。这也许就是极客 (黑客 )精神的写照,一群热爱技术的人为了自己的行业孜孜不倦、持续努力。其实,计算机领域不乏 这样的人,如自由软件之父Richard Stallman、Linux之父Li...
第Ⅰ部分 基本概念
第1章 Python打包的含义与目的 3
1.1 软件打包的准确定义 4
1.1.1 实现自动化打包的标准化 5
1.1.2 发布软件包的内容 6
1.1.3 共享软件面临的挑战 8
1.2 打包的作用 8
1.2.1 通过打包实现内聚和封装 9
1.2.2 促进代码所有权的明确化 11
1.2.3 实现与使用解耦 12
1.2.4 通过组合小软件包填补角色空缺 14
1.3 小结 15
第2章 为打包开发做准备 17
2.1 管理Python虚拟环境 18
2.2 小结 23
第3章 最小Python软件包的剖析 25
3.1 Python构建工作流 26
3.2 创建软件包元数据 31
3.2.1 所需的核心元数据 31
3.2.2 可选的核心元数据 34
3.2.3 指定许可证 37
3.3 控制源代码和文件发现 39
3.4 在软件包中包含非Python文件 43
3.5 小结 45
第Ⅱ部分 创建可行的软件包
第4章 处理软件包依赖项、入口点和扩展 49
4.1 车辆漂移计算软件包 50
4.2 为Python创建C扩展 52
4.2.1 创建C扩展源代码 53
4.2.2 将Cython集成到Python软件包构建中 54
4.2.3 安装并配置C扩展程序 56
4.2.4 二进制wheel发布文件的构建目标 58
4.2.5 指定所需的Python版本 59
4.3 通过Python软件包提供命... 查看详情
"本书是一本关于 Python 打包与发布的工具书,旨在手把手指导读者完成整个软件包的创建过程,包括维护测试套件、自动化代码质量、持续集成、编写与维护文档、构建社区和更新代码。一眼望去,整个流程漫长而又烦琐,你甚至还会在读完全书后感慨发布工具之多。的确,发布自己的软件包并构建技术社区,是一件任重道
远但又极具价值的事。"