创建并发布自己的Python包

本文主要翻译自官方文档: Packaging Python Projects

创建项目

  项目需要有以下的文件结构:

  example_pkg是包的文件名,因为是python包,所以要有__init__.py,setup.py是安装的配置脚本,LICENSE是使用许可,README.md是Markdown格式的说明文档。

创建并配置 setup.py

  以下是我的一个setup.py文件。

创建 Readme.md 和 LICENSE

  这一步和在GitHub创建相同,所以省略,详细可以看参考链接。

生成发行版文件

  先安装wheel

  运行以下命令

  会在项目根目录生成一个dist目录,并在dist目录下生成两个文件。

上传发行版文件

  安装twine(用来把打包好的文件上传到pypi)

  上传到测试版pypi(需要先在TestPypi注册一个账号,和PyPi是独立的)

  上传成功后,可以在TestPyPi上看到自己的项目

使用pip安装自己的包

  安装成功后检查是否已经成功安装,打开python终端

  运行

  如果没有报错说明安装成功了,注意不要在项目目录下打开python终端,因为项目文件中的相对路径中有example_pkg,可能是使用了相对路径导包而不是成功导入系统包。

上传到pypi

  OK,一切都已经测试完毕了,最后,运行下面的命令将发行版本上传到PyPi(要先注册一个PyPi账号)

  使用pip安装:

  这时要使用官方源安装,因为刚上传上去,国内源(清华、中科大、阿里等)还没有和官方源同步。

  注意每个版本号是唯一的,上传成功后上传的版本号即被用久占用,以后同一个包不能再使用这个版本号(即使把原来的删除了也不可以)。

参考

https://packaging.python.org/tutorials/packaging-projects/