除了你的源代码以外,你还需要准备以下文件;
开源协议文件
这里以我的项目用到的开源协议举例:
https://github.com/funny-dream/pdocr-rpc/blob/main/LICENSE
介绍这个包的安装及使用,理论上你可以写任何东西在上面,主要让别人全方位了解这个包的使用;
网络上大多关于 Python 打包使用的都是 setup.py
,最新最流行的是使用 pyproject.toml
,pypi
官方也推荐使用它;
相比于setup.py
,pyproject.toml
的描述更为精细,但也更为繁琐,如果你是高定玩家,当然首选 pyproject.toml
;
当然,常用的几个东西都差不多,下面就以我的项目举例简单介绍一下:https://github.com/funny-dream/pdocr-rpc/blob/main/pyproject.toml
里面主要包含这些内容:
构建系统
这里面就是一些基本信息,你可以按照自己的实际情况修改;
注意:
(1)classifiers
里面 License
字段要和项目的开源协议一致;在这里列出了所有的开源协议应该怎么写:https://pypi.org/classifiers/
(2)dependencies
是你项目的依赖,别人使用 pip 安装的时候会同时安装上这些依赖;
注意这里如果有一些条件,比如有些包有版本的、操作系统、Python版本的限制,必须要按照规范写:https://peps.python.org/pep-0508/
(3)可选依赖
这些是可选的,安装的时候可以这样进行安装:
这样就会安装 pytest
(4)urls
这个在 pypi
的网页端能展示,别人可以通过那里跳转的你的文档或源码页面;
(5)version
用一个 __version__.py
指定版本是比较优雅的方法;
关于 project
下的详细内容及规范,请查看:https://packaging.python.org/en/latest/specifications/declaring-project-metadata/#declaring-project-metadata
安装打包工具:
打包:
完成后应生成两个目录中的文件:dist
首先你需要注册一个 pypi 的账号:https://pypi.org/account/register/
安装发布工具:
发布:
输入你的账号密码即可发布到 pypi,以后每次发布包记得更新版本;