Repolode
pypa

pypa/flit

一个简单的工具,用于将纯 Python 包和模块打包并发布到 PyPI,配置很少。

Star
2,262
Fork
173
未关闭 Issue
125
最近提交
11天前

这是什么?

Flit 用于将单个可导入的 Python 模块或包打包并上传到 PyPI。它的目标是减少维护者在打包过程中需要做的决定,并帮助避免常见的打包错误。PyPI 上的包名与导入名保持一致,包内的子包和数据文件会自动包含在内。

典型流程是:在模块中写入版本号和一行简介的 docstring,运行 `flit init` 生成 pyproject.toml,再运行 `flit publish` 发布。版本号和描述直接从模块中读取,命令行脚本等其他元数据在 pyproject.toml 中配置。旧版 flit.ini 文件可以通过内置模块转换为 pyproject.toml。

本地开发时,可以使用 `flit install` 将包安装到环境中,并支持符号链接方式,使修改立即生效。

核心功能

  • 01将单个模块或包以导入名发布到 PyPI。
  • 02从模块中读取版本号和描述,避免重复维护。
  • 03通过 `flit init` 生成 pyproject.toml。
  • 04自动包含子包和数据文件。
  • 05支持本地开发安装,可选择符号链接方式。

适用场景

  • 在不编写 setup.py 的情况下将纯 Python 小型库发布到 PyPI。
  • 将基于旧版 flit.ini 的项目迁移到 pyproject.toml。
  • 开发时以可编辑方式在本地安装包。

快速上手

  1. 1

    使用 pip 安装 flit

    python3 -m pip install flit
  2. 2

    为模块添加一行文档字符串和 __version__

  3. 3

    在模块目录中运行 flit init 以创建 pyproject.toml

    flit init
  4. 4

    将包上传到 PyPI

    flit publish

使用前须知

  • 每次只能打包一个可导入的模块或包。
  • Python 2 模块若要使用 Flit 分发,必须在 Python 3 下可无错误导入。

标签

常见问题

flit 是什么?
一个简单的工具,用于将纯 Python 包和模块打包并发布到 PyPI,配置很少。 Flit 用于将单个可导入的 Python 模块或包打包并上传到 PyPI。它的目标是减少维护者在打包过程中需要做的决定,并帮助避免常见的打包错误。PyPI 上的包名与导入名保持一致,包内的子包和数据文件会自动包含在内。
flit 可以免费使用吗?用的什么许可证?
flit 以 BSD-3-Clause 许可证开源。用于商业产品前,请先确认许可证条款。
flit 还在维护吗?
活跃维护中。flit 最近一次提交是在 2026年10月27日。
flit 适合用来做什么?
在不编写 setup.py 的情况下将纯 Python 小型库发布到 PyPI。 将基于旧版 flit.ini 的项目迁移到 pyproject.toml。 开发时以可编辑方式在本地安装包。
flit 怎么安装和运行?
使用 pip 安装 flit: python3 -m pip install flit 为模块添加一行文档字符串和 __version__ 在模块目录中运行 flit init 以创建 pyproject.toml: flit init 将包上传到 PyPI: flit publish
在哪里获取 flit?
源代码和安装说明在 GitHub 上:https://github.com/pypa/flit

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目