【pypi开源项目文档】终极秘诀应对rst解析错误:The description failed to render in the default format of reStructuredText

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 前面雷学委给大家缕一缕了如何开发一个python库并导入运行, 基本完成了一个初步的库,还支持了命令行工具的发布。

本文旨在提供一个通用解决方案,适应所有场景的结局RST文件渲染错误!


特别是新手在发布开源项目的时候容易遇到这个问题:


#比如这个错误,学委也会遇到。

The description failed to render in the default format of reStructuredText. See https://pypi.org/help/#description-content-type for more information.


当然,作为开发老兵有时候也会遇到,因为一不小心rst格式的文件内容非常敏感,有时候不经常敲这个,敲错了就报错了。


上传pypi库发生错误如下:


image.png

第一步 认识reStructuredText

reStructuredText 是一种文本,常用在python项目中,用于对项目或者是程序模块进行解释说明。

很多项目也配套了rst文件,然后用rst文件生成项目文档。


简单理解就是一种文本,里面可以用标记符号来表示段落,代码,超链接,也可以加上样式。


第二步 认识错误

错误的根本原因是rst的内容不符合标准。


很多工具支持rst文件可视化,看起来好好的,但是穿到pypi上面就报错了。


下面细讲。


标题格式错误了

大标题格式错误


===================
pypi_seed
===================

和这种格式的章节标题

----------------
Further discussion / 更多使用问题
----------------
Please raise PR or find the tencent group chat : https://jq.qq.com/?_wv=1027&k=ISjeG32x

第三步 动手解决

上面两个错误都是PyCharm上面RST可视化工具不会识别的。

大标题的格式换成下面的可以正常通过解析

pypi_seed
=========

章节标题参考下面的格式:

Further discussion / 更多使用问题
--------------------------
Please raise PR or find the tencent group chat : https://jq.qq.com/?_wv=1027&k=ISjeG32x

其他错误

比如下面的内容也会报错:

image.png

因为章节标题过长了, 改短一点。重新提交。

bash
Further discussion / 更多
--------------------------

rst 文件支持很多格式,也不可能一个一个罗列。


下面是通用方法。


上面都解决不了:直接找个开源项目参考

有时候自己的rst文件改半天都不行。


这个时候只能化整为零了。


找一个开源的项目的README.rst 文件来参考:


https://raw.githubusercontent.com/py4ever/pypi_seed/main/README.rst


或者gitee上面的:


https://gitee.com/py4ever/pypi_seed/raw/main/README.rst


安装里面的内容修改自己的rst文件。


小技巧01

分段修改,起个新文件贴进去一段一段追加,直到最终生成自己想要的rst文件。


小技巧02

先写成markdown,在用工具转: https://cloudconvert.com/md-to-rst


总结

很多开源的python项目中都配套了README.rst, 都可以去参考,举一反三!


编程问题没办法都写文档解释透,代码在变化,技术在变化,唯一需要我们的就是多动动脑,找对的例子参考。


本文参考的开源项目地址在这里:Pypi-Seed on Github


> 持续学习持续开发,我是雷学委!

> 编程很有趣,关键是把技术搞透彻讲明白。

> 创作不易,请关注收藏点赞,或者留下评论打打气!


参考链接:


https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html


目录
相关文章
|
29天前
|
JSON 测试技术 API
Python开发解析Swagger文档小工具
文章介绍了如何使用Python开发一个解析Swagger文档的小工具,该工具可以生成符合httprunner测试框架的json/yaml测试用例,同时还能输出Excel文件,以方便测试人员根据不同需求使用。文章提供了详细的开发步骤、环境配置和使用示例,并鼓励读者为该开源项目贡献代码和建议。
23 1
Python开发解析Swagger文档小工具
|
1月前
|
人工智能 PyTorch 算法框架/工具
Xinference实战指南:全面解析LLM大模型部署流程,携手Dify打造高效AI应用实践案例,加速AI项目落地进程
【8月更文挑战第6天】Xinference实战指南:全面解析LLM大模型部署流程,携手Dify打造高效AI应用实践案例,加速AI项目落地进程
Xinference实战指南:全面解析LLM大模型部署流程,携手Dify打造高效AI应用实践案例,加速AI项目落地进程
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
【热门开源项目】阿里开源巨擘:Qwen-2 72B深度解析与推荐
在人工智能的浪潮中,开源模型如同璀璨的星辰,指引着开发者们探索未知的领域。而今天,我们将聚焦在阿里云推出的开源模型Qwen-2 72B上,从其项目介绍、技术特点、代码解析等多个角度,深入解析并推荐这一卓越的开源项目。
79 1
|
20天前
|
C# 开发者 Windows
勇敢迈出第一步:手把手教你如何在WPF开源项目中贡献你的第一行代码,从选择项目到提交PR的全过程解析与实战技巧分享
【8月更文挑战第31天】本文指导您如何在Windows Presentation Foundation(WPF)相关的开源项目中贡献代码。无论您是初学者还是有经验的开发者,参与这类项目都能加深对WPF框架的理解并拓展职业履历。文章推荐了一些适合入门的项目如MvvmLight和MahApps.Metro,并详细介绍了从选择项目、设置开发环境到提交代码的全过程。通过具体示例,如添加按钮点击事件处理程序,帮助您迈出第一步。此外,还强调了提交Pull Request时保持专业沟通的重要性。参与开源不仅能提升技能,还能促进社区交流。
28 0
|
20天前
|
C# 开发者 Windows
震撼发布:全面解析WPF中的打印功能——从基础设置到高级定制,带你一步步实现直接打印文档的完整流程,让你的WPF应用程序瞬间升级,掌握这一技能,轻松应对各种打印需求,彻底告别打印难题!
【8月更文挑战第31天】打印功能在许多WPF应用中不可或缺,尤其在需要生成纸质文档时。WPF提供了强大的打印支持,通过`PrintDialog`等类简化了打印集成。本文将详细介绍如何在WPF应用中实现直接打印文档的功能,并通过具体示例代码展示其实现过程。
79 0
|
20天前
|
C# Windows 开发者
超越选择焦虑:深入解析WinForms、WPF与UWP——谁才是打造顶级.NET桌面应用的终极利器?从开发效率到视觉享受,全面解读三大框架优劣,助你精准匹配项目需求,构建完美桌面应用生态系统
【8月更文挑战第31天】.NET框架为开发者提供了多种桌面应用开发选项,包括WinForms、WPF和UWP。WinForms简单易用,适合快速开发基本应用;WPF提供强大的UI设计工具和丰富的视觉体验,支持XAML,易于实现复杂布局;UWP专为Windows 10设计,支持多设备,充分利用现代硬件特性。本文通过示例代码详细介绍这三种框架的特点,帮助读者根据项目需求做出明智选择。以下是各框架的简单示例代码,便于理解其基本用法。
59 0
|
20天前
|
开发框架 Android开发 iOS开发
跨平台开发的双重奏:Xamarin在不同规模项目中的实战表现与成功故事解析
【8月更文挑战第31天】在移动应用开发领域,选择合适的开发框架至关重要。Xamarin作为一款基于.NET的跨平台解决方案,凭借其独特的代码共享和快速迭代能力,赢得了广泛青睐。本文通过两个案例对比展示Xamarin的优势:一是初创公司利用Xamarin.Forms快速开发出适用于Android和iOS的应用;二是大型企业借助Xamarin实现高性能的原生应用体验及稳定的后端支持。无论是资源有限的小型企业还是需求复杂的大公司,Xamarin均能提供高效灵活的解决方案,彰显其在跨平台开发领域的强大实力。
25 0
|
20天前
|
UED 开发者
哇塞!Uno Platform 数据绑定超全技巧大揭秘!从基础绑定到高级转换,优化性能让你的开发如虎添翼
【8月更文挑战第31天】在开发过程中,数据绑定是连接数据模型与用户界面的关键环节,可实现数据自动更新。Uno Platform 提供了简洁高效的数据绑定方式,使属性变化时 UI 自动同步更新。通过示例展示了基本绑定方法及使用 `Converter` 转换数据的高级技巧,如将年龄转换为格式化字符串。此外,还可利用 `BindingMode.OneTime` 提升性能。掌握这些技巧能显著提高开发效率并优化用户体验。
39 0
|
22天前
|
机器学习/深度学习 计算机视觉 Python
深度学习项目中在yaml文件中定义配置,以及使用的python的PyYAML库包读取解析yaml配置文件
深度学习项目中在yaml文件中定义配置,以及使用的python的PyYAML库包读取解析yaml配置文件
31 0
|
2月前
|
监控 数据可视化 搜索推荐
万界星空科技商业开源MES系统全面解析
万界星空科技提供商业开源MES系统,基于Java的开源版本,含源码及拖拽式数据大屏,适用于定制开发。系统集成ERP、PDM、QC,实现无缝对接与智能调度,优化资源配置。具备实时监控、质量控制、灵活定制等功能,支持低代码定制,广泛应用于多个制造业领域。欲了解更多,可访问官网或搜索联系。
81 10

热门文章

最新文章

推荐镜像

更多