在setup.py中读取README

9 投票
1 回答
4205 浏览
提问于 2025-04-18 03:25

我想让我的设置脚本中的 long_description 内容来自我的 README.md 文件。但是,当我这样做时,使用 python setup.py sdist 创建源代码包时会失败,因为这个命令不会复制 README 文件。

有没有办法让 distutils.core.setup() 在执行 sdist 命令时包含 README.md 文件,这样安装就不会失败了?

我尝试过一个小办法,就是在 README.md 文件不可用时使用一些简短的文本作为默认内容,但我其实希望不仅是 PyPi 能获取到 README 文件的内容,安装这个包的用户也能看到这些内容。

1 个回答

9

如果你想手动把文件包含到你的发布包里,可以按照以下步骤操作:

  1. 设置 include_package_data = True 这个选项。

  2. 创建一个叫做 MANIFEST.in 的文件,里面列出你想从项目根目录包含的文件,格式是 include <glob>。如果你想从项目根目录的子目录中包含文件,可以使用 recursive-include <dirname> <glob>

不过,关于这些内容的文档其实很零散,分散在 Python 的 distutils、setuptools 和旧版 distribute 文档中,所以搞清楚该怎么做可能会有点困难。

撰写回答