【Python】应用:发布pyproject.toml格式包到 PyPI

😏*★,°* :.☆( ̄▽ ̄)/$:.°★ 😏

这篇文章主要介绍发布pip包到PyPI官方仓库。
无专精则不能成,无涉猎则不能通。------梁启超

欢迎来到我的博客,一起学习,共同进步。

喜欢的朋友可以关注一下,下次更新不迷路🥞

文章目录

    • [:smirk:1. 项目准备](#:smirk:1. 项目准备)
    • [:blush:2. 安装发布工具](#:blush:2. 安装发布工具)
    • [:satisfied:3. 上传到PyPI](#:satisfied:3. 上传到PyPI)

😏1. 项目准备

首先,推荐一下我自己打包分发的 pip 包!!!(IP多功能工具

可以通过pip安装:pip install ipdisp

bash 复制代码
https://pypi.org/project/ipdisp/#description
  1. 准备项目/包结构
sh 复制代码
  my-package/
  ├── pyproject.toml
  ├── src/
  │   └── my_package/
  │       ├── __init__.py
  │       └── main.py
  ├── README.md
  └── LICENSE
  1. 编写 pyproject.toml
cpp 复制代码
 [build-system]
  requires = ["setuptools>=61.0", "wheel"]
  build-backend = "setuptools.build_meta"

  [project]
  name = "my-package"
  version = "0.1.0"
  description = "A short description"
  readme = "README.md"
  license = {text = "MIT"}
  requires-python = ">=3.10"
  authors = [
      {name = "Your Name", email = "you@example.com"}
  ]
  classifiers = [
      "Programming Language :: Python :: 3",
  ]
  dependencies = [
      "requests>=2.28",
  ]

  [project.optional-dependencies]
  dev = ["pytest", "black", "mypy"]
  1. 编写 src/my_package/init.py

version = "0.1.0"

😊2. 安装发布工具

  1. 注册 PyPI 账号

PyPI 生产环境

cpp 复制代码
 https://pypi.org/account/register/

Test PyPI (测试用)

cpp 复制代码
 https://test.pypi.org/account/register/
  1. 安装发布工具
cpp 复制代码
pip install build twine
  1. 构建源码和 wheel
cpp 复制代码
python -m build

会在 dist/ 目录下生成:

bash 复制代码
  dist/
  ├── my_package-0.1.0.tar.gz      # 源码
  └── my_package-0.1.1-py3-none-any.whl  # wheel

😆3. 上传到PyPI

  1. 上传到 PyPI

方式1: twine (推荐,更安全)

bash 复制代码
twine upload dist/*

按提示输入 username / password

方式2: 直接用 build

bash 复制代码
python -m twine upload dist/*
  1. 配置认证信息(可选)

在 ~/.pypirc 或用环境变量,避免每次输入密码:

bash 复制代码
 # 环境变量方式
  export PYPI_USERNAME="__token__"
  export PYPI_PASSWORD="pypi-xxxx_your_token_xxxx"

在 PyPI → Account → API Tokens,生成一个 token,username 填 token,password 填 token 值。

常见问题:

可以发布前先用 Test PyPI 验证:

bash 复制代码
  twine upload --repository testpypi dist/*
  pip install --index-url https://test.pypi.org/simple/ my-package

确认没问题再上正式 PyPI。

以上。

相关推荐
代码中介商28 分钟前
C++ STL 容器完全指南(二):vector 深入与 stringstream 实战
开发语言·c++
阿正的梦工坊4 小时前
深入理解 PyTorch 中的 unsqueeze 操作
人工智能·pytorch·python
FreakStudio5 小时前
硬件版【Cursor】?aily blockly IDE尝鲜封神,实战硬伤尽显
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
郝学胜-神的一滴7 小时前
Qt 入门 01-01:从零基础到商业级客户端实战
开发语言·c++·qt·程序人生·软件构建
测试员周周7 小时前
【Appium 系列】第06节-页面对象实现 — LoginPage 实战
开发语言·前端·人工智能·python·功能测试·appium·测试用例
摇滚侠7 小时前
@Autowired 和 @Resource 的区别
java·开发语言
2301_783848657 小时前
优化文本分类中堆叠模型的网格搜索性能:避免训练卡顿的实战指南
jvm·数据库·python
Wy_编程7 小时前
go语言中的结构体
开发语言·后端·golang
SeaTunnel7 小时前
(八)收官篇 | 数据平台最后一公里:数据集成开发设计与上线治理实战
java·大数据·开发语言·白鲸开源
CLX05058 小时前
如何安装Oracle 12c Cloud Control_OMS服务端组件与Agent部署
jvm·数据库·python