【问题标题】:When trying to create Sphinx documentation on read the docs - complains about libpulse-mainloop-glib.so.0尝试在阅读文档时创建 Sphinx 文档时 - 抱怨 libpulse-mainloop-glib.so.0
【发布时间】:2020-02-25 02:40:20
【问题描述】:

文档正在从这个 repo 构建:https://github.com/djotaku/ELDonationTracker/tree/26858f5d174bb44658f59a7e080265bd1a8b3216

输出到这里:https://eldonationtracker.readthedocs.io/en/latest/index.html

在我写这个问题的时候(因此为什么我使用树 URL 以防将来有人发现这个问题),gui 和 call_tracker 模块的文档失败了。 (它会生成一个只有标题的空白页面)。

这在我的机器上运行良好。

当我查看 read-the-docs 构建输出时,我看到了这个错误: 警告:autodoc:无法从模块“eldonationtracker”导入模块“call_tracker”;引发了以下异常: libpulse-mainloop-glib.so.0:无法打开共享对象文件:没有这样的文件或目录

GUI 也是如此。

这些模块可以在以下位置找到:

https://github.com/djotaku/ELDonationTracker/blob/26858f5d174bb44658f59a7e080265bd1a8b3216/eldonationtracker/call_tracker.py

https://github.com/djotaku/ELDonationTracker/blob/26858f5d174bb44658f59a7e080265bd1a8b3216/eldonationtracker/gui.py

我可以做些什么来使这个文档工作?

谢谢!

【问题讨论】:

    标签: read-the-docs


    【解决方案1】:

    我遇到了同样的问题。这是因为 PyQt5.QtMultimedia 试图打开未安装在 ReadTheDocs 系统上的 libpulse-mainloop-glib.so.0pulseaudio 库。你的gui.py 导入call_tracker,所以它只是在传播错误,这也是它不起作用的原因。

    我通过将 QtMultimedia 导入包装在 try 块中来解决这个问题:

    try:
        from PyQt5.QtMultimedia import QMediaPlayer, QMediaContent
    except:
        pass
    

    因为 ReadTheDocs 实际上并不运行代码的多媒体部分(只是导入模块),所以导入失败并不重要。如果您确实有在导入时执行 QMultimedia 内容的代码,那么您可能需要额外的检查和解决方法。

    【讨论】:

      猜你喜欢
      • 2015-03-15
      • 1970-01-01
      • 2015-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多