开发一个完整的python包,需要知道的

97 阅读1分钟
  1. pypi打包发布
  2. 文档
  3. changelog
  4. setup.cfg文件怎么写
  5. LICENSE
  6. 发版

本文以nlpertools包为例,分别介绍以上五个部分

1. pypi打包发布

自动

存在两种自动的方式,它们需要配置.github中的workflow实现

  1. 依赖github workflow文件中配置pypi
  2. 依赖pypi pypi publishing中配置

两种方法区别只在于是否需要在workflow中配置密码,依然需要在github上release

备注

ERROR HTTPError: 403 Forbidden from <https://upload.pypi.org/legacy/>

[27](https://github.com/******/actions/runs/14632720369/job/41057855872#step:7:28) Invalid or non-existent authentication information. See

用github可以用的workflow并没有pypi授权,还得用方案1:github。方案2没仔细研究,反正是失败了。

第一次打包发布需要做的

  • 首先复制已有项目的github的workflow
  • 然后在当前项目的Settings/Secrets and variables/Actions里添加PYPI_API_TOKEN: image.png 该key在pypi里申请

常规更新

  • 【option】最好在本地测试一下python -m build
  • 本地打上tag
  • 提交代码和tag到github
  • Code页面创建release
  • 然后就结束啦 等待Actions自动上传到pypi

参照6. 发版

2. 文档

3. change log

4. setup.cfg文件

通过写setup.py可以实现用命令启动包的功能

6. 发版

github上的tag和本地的tag默认不同步,需要本地打完tag后执行git push origin v1.0.9