zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Python库的开发和发布(一):快速入门

Python入门开发 快速 发布
2023-06-13 09:14:21 时间

哈喽大家好~咱们课题组又推出了新系列【Python库的开发和发布】,本篇推送是系列第一弹~

本系列中,我们会介绍一个完整的Python库的发布流程。本篇文章首先简单介绍一下流程,给大家一个初步的印象。大体上,我们可以把一个Python库的发布过程分为三步:主体程序编写、编写setup.py文件和发布到PyPI上。

本文环境: - 操作系统:Mac OS 10.12.3(尚未测试Windows的稳定性) - Python版本:2.7.13(尚未测试3.x是否可用)

- 主体程序 -

这个程序想实现的功能很简单,是删除某个目录下所有的tex临时文件,然后输出所有处理的文件和对应的文件夹。为了用着更方便,我试图打包成了命令行命令,方便使用。

1. 开发功能

首先我编写了一个函数,实现删除tex临时文件的功能。这里的主要逻辑是,用扩展名是不是可能是临时文件的后缀+文件有没有同名tex文件判断是不是tex临时文件,如果是,则删除并输出信息。

2. 命令行程序设计

这里我使用了标准库的optparse来生成命令行命令,在main函数定义了解析命令行命令的方法。

- 编写setup.py -

setup文件是用来实现打包和安装功能的文件,非常重要。这里我使用了比distutils更为先进的setuptools编写setup文件。

解释一下几个参数。“packages”和“scripts”是主体程序的文件夹和文件;entry_points是用来生成命令行工具或者GUI工具的(理论上是跨平台的),比如这里我生成了一个texcleaning的命令来代替texcleaning.py的main函数,安装成功以后就可以直接使用“texcleaning”命令,但是正是因为如此,这里可能需要请求管理员权限。

- 发布和升级Python库 -

1. 发布

在工作目录下,首先生成PKG-INFO:

然后上传PKG-INFO到PyPI上,这样PyPI便登记了这个库的信息。

2. 升级

PyPI上登记信息之后,或者后续需要升级,在工作目录下打包并发布即可。

打包之前,删除dist文件夹中的旧版本打包文件,然后生成新文件:

否则上传时会报错说旧版本已经上传过了。

然后把新版本的打包文件上传到PyPI上面:

这里会要求输入PyPI的账号密码,把注册过的账号密码输入即可。现在我们可以根据文档中的方法使用库了。

- 小结 -

到此为止,一个Python库的开发、打包、发布和升级的步骤就完成了。这里有选择性地忽略了很多细节,大家不用担心~在后面的部分,我们会详细介绍更多关于Python库开发过程中的各个方面。

本文生成的库的地址是:texcleaning 0.0.1.dev3

源码地址是:Guo-Zhang/texcleaning

(可复制蓝色字体链接到浏览器打开)

文/iGuo

排版/吃货A

China's Prices Project

微信号:XMUCPP

项目专栏:China's Prices Project - 知乎专栏

联系邮箱(项目负责人iGuo):

zhangguocpp@163.com