readthedocs 和 PyQt5 上的 autodoc
autodoc on readthedocs and PyQt5
我正在编写一个包装 PyQt5 功能的包,并试图将文档放在 readthedocs 上。由于 PyQt5 是一个扩展模块,我模拟了该模块及其 类(手动,因为使用 unittest.mock 会导致元类冲突):
class PyQt5:
class QtCore:
@staticmethod
def qVersion():
return '5.0.0'
class QObject:
pass
# etc
sys.modules['PyQt5'] = PyQt5
这在本地运行良好。但是,尽管构建在 readthedocs 上没有错误地通过,但没有 autodoc 输出。我错过了什么?
BitBucket 上的项目:https://bitbucket.org/fraca7/qtypy/
在 ReadTheDocs 上:https://readthedocs.org/projects/qtypy/
尽管它 "passing" 构建,如果你仔细查看你的 logs,当它开始调用 sphinx 时,你会看到像 ImportError: No module named 'qtypy'
这样的错误。
当我过去成功完成此操作时,我总是在存储库的顶层有一个 setup.py
文件用于安装包,我相信这是 readthedocs 可以的唯一方法安装软件包。
然后我在 readthedocs 项目管理员 -> 高级设置上启用了,
Install your project inside a virtualenv using setup.py install"
这确保您的模块可以在 sphinx 运行时导入,以便它可以自动生成文档(前提是您已成功模拟 PyQt5)。
我正在编写一个包装 PyQt5 功能的包,并试图将文档放在 readthedocs 上。由于 PyQt5 是一个扩展模块,我模拟了该模块及其 类(手动,因为使用 unittest.mock 会导致元类冲突):
class PyQt5:
class QtCore:
@staticmethod
def qVersion():
return '5.0.0'
class QObject:
pass
# etc
sys.modules['PyQt5'] = PyQt5
这在本地运行良好。但是,尽管构建在 readthedocs 上没有错误地通过,但没有 autodoc 输出。我错过了什么?
BitBucket 上的项目:https://bitbucket.org/fraca7/qtypy/
在 ReadTheDocs 上:https://readthedocs.org/projects/qtypy/
尽管它 "passing" 构建,如果你仔细查看你的 logs,当它开始调用 sphinx 时,你会看到像 ImportError: No module named 'qtypy'
这样的错误。
当我过去成功完成此操作时,我总是在存储库的顶层有一个 setup.py
文件用于安装包,我相信这是 readthedocs 可以的唯一方法安装软件包。
然后我在 readthedocs 项目管理员 -> 高级设置上启用了,
Install your project inside a virtualenv using setup.py install"
这确保您的模块可以在 sphinx 运行时导入,以便它可以自动生成文档(前提是您已成功模拟 PyQt5)。