构建一个python包上传到PyPI

安装poetry

windows用户通过通过pip安装

pip install poetry

确认是否安装成功以及查看版本号

poetry --version

补充:poetry 相关命令如下

#名称  功能
poetry new   #创建一个项目脚手架,包含基本结构、pyproject.toml 文件
poetry init  #基于已有的项目代码创建 pyproject.toml 文件,支持交互式填写
poetry install  #安装依赖库
poetry update  #更新依赖库
poetry add  #添加依赖库
poetry remove  #移除依赖库
poetry show  #查看具体依赖库信息,支持显示树形依赖链
poetry build  #构建 tar.gz 或 wheel 包
poetry publish  #发布到 PyPI
poetry run  #运行脚本和代码

创建项目并初始化

推荐使用GitHub管理代码,每次poetry publish发布到pypi后,push到GitHub仓库

  1. GitHub上先创建一个库(库名不要有下划线大写字母)比如 aamt-template

  2. clone到本地

  3. 进入项目根目录cmd,使用poetry初始化项目

    poetry init
    

    http://biji.51automate.cn/blogs/img20221127111910.png

打包并发布到pypi

# 这里默认pypi已经有了账号(没有账号文章末尾)

# 构建 tar.gz 包
poetry build

# 发布包到pypi(输入Pypi的账号密码)
poetry publish --username xuefeng365 --password xfXXXXXX

注册账号

PyPi 是官方的 Python 仓库,所有的 Python 包都存放在这里。你可以把它看作是 Python 软件包的 GitHub。

PyPI网站上(PyPI · The Python Package Index)注册一个自己的账号,

注意2点

  1. 邮箱120XXXXX@qq.com 邮箱一定要先验证 ,否则上传不了

    HTTP Error 400: User ‘xuefeng365’ does not have a verified primary email address

  2. 项目名不能和pypi已经有的项目重复,否则

    HTTP Error 400: The name ‘api-automate-test’ is too similar to an existing project

    可以直接到官网先搜索项目名A,确认没有重复再使用它

    img

注意事项

  • 当你需要更新你的包的时候, 你需要在pyproject.toml更改项目版本version = “0.2.0”

  • 如果你的包名已经在pypi上面被别人使用, 则你无法上传到pypi