写点什么

打包自己的 Python 应用并上传到 PYPI

作者:Rayzh
  • 2023-08-03
    上海
  • 本文字数:972 字

    阅读完需:约 3 分钟

打包自己的Python应用并上传到PYPI

这篇文章参考官网最新打包指南,记录打包自己开发的 python 应用,并上传到 pypi.org 的流程。


一、代码的目录结构

your_project_directory/

src/

package_name/

moduleA/

moduleB/

__init__.py

project_name.py

License

pyproject.toml

README.md


your_project_directory:项目名,建议和 pip install xxx 的一致

package_name:你开发的包名

moduleA、moduleB:包依赖的模块

__init__.py:空文件

project_name.py:入口

License:开源协议声明

pyproject.toml:项目的配置

README.md:关于项目介绍以及使用说明


二、打包

python3 -m pip install --upgrade build

在根目录执行 python3 -m build ,dist/会生成相关文件。


三、pyproject.toml 配置参考

[build-system]requires = ["setuptools>=61.0"]build-backend = "setuptools.build_meta"
[project]name = "awsome-validity"version = "0.0.1"authors = [ { name="yourname", email="youremail@outlook.com" },]description = "awsome-validity is a package for Python that check if an email/phone/password... is valid"readme = "README.md"requires-python = ">=3.8"classifiers = [ "Programming Language :: Python :: 3", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent",]
[project.urls]"Homepage" = "https://github.com/Lorryrui/awsome-validity"

复制代码


四、上传前准备

上传前需要配置 pypi.org 网站的用户名密码。建议在上传到正式环境前先用测试环境进行上传、下载测试。测试的地址是:https://test.pypi.org/simple/

python3 -m twine upload --repository testpypi dist/*

为了避免每次手动输入账号密码,可以把信息写入到.pypirc 文件:

[pypi]  username = name  password = password[testpypi]  username = name  password = password
复制代码


上传完成后可以在https://test.pypi.org找到自己的包的版本。登录自己的账号后可以看到自己仓库的信息,然后使用类似:pip3 install -i https://test.pypi.org/simple/ awsome-validity==0.0.5 测试下自己的包,确认无误后再上传到正式环境。

python3 -m twine upload --repository pypi dist/*


五、参考案例

5.1 目录结构


5.2 打包

python3 -m build



打包后的包在 dist/ 目录:

5.3 上传到 pypi

python3 -m twine upload --repository pypi dist/*


发布于: 刚刚阅读数: 3
用户头像

Rayzh

关注

还未添加个人签名 2018-11-13 加入

仅仅是个做运维的...

评论

发布
暂无评论
打包自己的Python应用并上传到PYPI_Python_Rayzh_InfoQ写作社区