You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

PyPi上long_description无法显示问题求助

排查PyPI长描述不显示的问题

嘿,我瞅了下你的setup.py代码,发现几个关键问题,咱们一步步来解决:

1. 最核心的遗漏:setup()未传入long_description参数

你已经正确读取了README.rst的内容到long_description变量里,但没有把这个变量传递给setup函数!PyPI根本不知道要使用这段内容作为长描述,所以自然不会显示。

修改你的setup.py,补充缺失的参数,同时建议加上long_description_content_type明确告诉PyPI这是reStructuredText格式的内容:

from setuptools import setup
from codecs import open
from os import path

here = path.abspath(path.dirname(__file__))
with open(path.join(here, 'README.rst'), encoding='utf-8') as f:
    long_description = f.read()

setup(
    name='matchmod',
    version='1.2.1',
    description='Simple Rust-like ...',
    # 补充这两个关键参数
    long_description=long_description,
    long_description_content_type='text/x-rst'
)

2. 验证README.rst的格式兼容性

本地显示正常不代表PyPI的渲染器能正常解析——PyPI使用的rst渲染规则更严格,比如标题层级、列表格式、链接语法稍有错误就会导致渲染失败。

你可以用官方推荐的工具提前验证:

# 先安装验证工具
pip install readme-renderer
# 本地渲染检查README格式
python -m readme_renderer README.rst

如果输出里有错误提示,按照提示修复你的README.rst即可。

3. 确保构建wheel时包含README文件

有时候即使代码里读取了README,如果MANIFEST.in文件没有指定包含该文件,构建出的wheel包可能会缺失README,导致PyPI无法读取。

在项目根目录创建MANIFEST.in文件,内容如下:

include README.rst

这样构建wheel时就会自动把README.rst包含进去。

做完以上三步,重新构建wheel包并上传到PyPI,长描述应该就能正常显示啦!

内容的提问来源于stack exchange,提问作者user9384354

火山引擎 最新活动