read-the-docs - 尝试在阅读文档时创建 Sphinx 文档时 - 抱怨 libpulse-mainloop-glib.so.0
问题描述
文档是从这个 repo 构建的:https ://github.com/djotaku/ELDonationTracker/tree/26858f5d174bb44658f59a7e080265bd1a8b3216
输出在这里:https ://eldonationtracker.readthedocs.io/en/latest/index.html
在我写这个问题的时候(因此为什么我使用树 URL 以防将来有人发现这个问题),gui 和 call_tracker 模块的文档失败了。(它会产生一个只有标题的空白页面)。
这在我的机器上运行良好。
当我查看 read-the-docs 构建输出时,我看到了这个错误: WARNING: autodoc: failed to import module 'call_tracker' from module 'eldonationtracker'; 引发了以下异常:libpulse-mainloop-glib.so.0:无法打开共享对象文件:没有这样的文件或目录
GUI 也一样。
这些模块可以在以下位置找到:
和
我该怎么做才能使此文档正常工作?
谢谢!
解决方案
我有同样的问题。这是因为 PyQt5.QtMultimedia 试图打开该libpulse-mainloop-glib.so.0
pulseaudio 库,该库未安装在 ReadTheDocs 系统上。您的gui.py
imports call_tracker
,所以它只是在传播错误,这就是它也不起作用的原因。
我通过将 QtMultimedia 导入包装在 try 块中来解决此问题:
try:
from PyQt5.QtMultimedia import QMediaPlayer, QMediaContent
except:
pass
因为 ReadTheDocs 实际上并不运行代码的多媒体部分(只是导入模块),所以导入失败并不重要。如果您确实有在导入时执行 QMultimedia 内容的代码,那么您可能需要额外的检查和解决方法。
推荐阅读
- php - Apache 和 TYPO3 不加载主页和后端以外的页面
- arrays - React Native FlatList 仅渲染 1 个对象
- c++ - 什么模板
模板 做? - servicestack - ServiceStack 和 .NET Core AppSettings 复杂对象
- spring-cloud-dataflow - 如何在 Spring Cloud 数据流中运行多个作业
- sql - postgres中的存储过程更新查询
- node.js - 如何检查 MongoDB 备份数据库?
- html - 如何在 div 上调整图层的高度和宽度
- android - 如何使用 Android CameraX 获取拍摄照片的 ISO 和曝光时间?
- c - 如何轻松地将数组从 INI 文件解析为 C 中的数组?