最近在弄一个新的Python项目,想把它放在PyPI上。由于之前的项目要么需要手动在本地通过build
和twine
打包上传,要么就是推上到Github仓库后,再各种设置Github Action以实现自动打包上传,虽然简单了不少,但还是需要自己生成token,并将其设置在仓库的secrets里面,步骤还是有点点多。现在PyPI支持了所谓的“受信任发布者”(Trusted Publisher),让发布流程更加的方便了。本文将以自己的新项目ihook作为例子,简单介绍下如何快速将自己在Github上的Python项目发布到PyPI上。
步骤
-
不必多说,需要发布到PyPI的Python项目需要有一个构建文件(比如使用
setuptools
构建的话,就需要setup.py
或者setup.cfg
)。具体可以参考PyPa的官方文档。我自己小项目的setup.py
大差不差,可以参考这里。 -
注册一个PyPI账号。直接去PyPI注册就好。
-
将自己的项目推到Github的一个仓库上。
-
新建一个workflow(仓库网页->Actions->New workflow),选择“Publish Python Package”,此时Github会生成一个workflow文件(类似这样),无需任何改动,直接commit即可。
-
进去PyPI账号设置页里面的“Publishing”选项卡(可以直接点击这里),在下方的Github选项卡里面输入项目名字、账号名、仓库名以及workflow文件的路径(一般是
python-publish.yml
),然后点击“Add”即可。PyPI项目表单填写示意
-
此时,只需在Github仓库创建Release,即可自动触发workflow,将项目发布到PyPI上!