前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python包的创建、打包和发布

Python包的创建、打包和发布

原创
作者头像
蚂蚁蚂蚁
发布2024-03-27 08:48:48
1550
发布2024-03-27 08:48:48
举报
文章被收录于专栏:技术分享技术分享

在这篇文章中,我将向你展示如何创建一个 Python 包,然后将其打包并发布到 Python 包索引(PyPI)上。这是一个非常实用的技能,可以让你的代码更容易被其他人使用和分享。

1. 准备项目结构

首先,我们需要创建一个项目文件夹,例如 packaging_tutorial。在这个文件夹内,我们创建一个源代码文件夹 src。然后,在 src 文件夹内创建你的包文件夹,例如 example_package_YOUR_USERNAME_HERE。最后,在包文件夹内创建 __init__.py 和示例模块文件 example.py

项目结构如下:

代码语言:plain
复制
packaging_tutorial/
├── LICENSE
├── pyproject.toml
├── README.md
├── src/
│   └── example_package_YOUR_USERNAME_HERE/
│       ├── __init__.py
│       └── example.py
└── tests/

2. 配置项目元数据

接下来,我们需要在 pyproject.toml 文件中配置项目的元数据。这包括项目的名称、版本、作者、描述、Python 版本要求等信息。同时,我们还需要创建一个 LICENSE文件(模板)和一个 README.md 文件。

pyproject.toml 文件的内容如下:

代码语言:toml
复制
[project]
name = "example_package_YOUR_USERNAME_HERE"
version = "0.0.1"
authors = [
  { name="Example Author", email="author@example.com" },
]
description = "A small example package"
readme = "README.md"
requires-python = ">=3.8"
classifiers = [
    "Programming Language :: Python :: 3",
    "License :: OSI Approved :: MIT License",
    "Operating System :: OS Independent",
]

[project.urls]
Homepage = "https://github.com/pypa/sampleproject"
Issues = "https://github.com/pypa/sampleproject/issues"

# 构建后端,默认为 Hatchling
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

3. 打包项目

接下来,我们需要打包我们的项目。首先,我们需要安装打包工具 build。然后,我们可以使用 build 命令来打包我们的项目。这将在 dist 目录下生成 .whl.tar.gz 文件。

代码语言:sh
复制
# 安装打包工具
python3 -m pip install --upgrade build

# 打包
python3 -m build

传统项目也使用写 setup.py 文件,然后通过 python setup.py sdist bdist_wheel 命令打包,因为长期以来 Setuptools 是 Python 项目打包的事实标准。使用 build 来打包是更现代的方式。

4. 注册 TestPyPI 账号并获取 Token

在上传我们的包之前,我们需要在 TestPyPI 上注册一个账号,并获取一个 Token。

5. 上传包

接下来,我们需要安装上传工具 twine,然后使用 twine 命令来上传我们的包。

代码语言:sh
复制
# 安装上传 PyPI 的工具 twine
python3 -m pip install --upgrade twine

# 上传
python3 -m twine upload --repository testpypi dist/*

6. 验证包

最后,我们可以安装我们的包并验证其功能。

代码语言:python
复制
# Install 
# python3 -m pip install --index-url https://test.pypi.org/simple/ --no-deps example-package-YOUR-USERNAME-HERE

from example_package_YOUR_USERNAME_HERE import example
example.add_one(2)

7. 上传到正式的 PyPI

如果一切都正常,我们可以将我们的包上传到正式的 PyPI 上。

更多内容可以参考官方指引 Python Packaging User Guide

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 准备项目结构
  • 2. 配置项目元数据
  • 3. 打包项目
  • 4. 注册 TestPyPI 账号并获取 Token
  • 5. 上传包
  • 6. 验证包
  • 7. 上传到正式的 PyPI
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档