現在、read-the-docs を介して自分のコードのドキュメントをオンラインで取得しようとしていますが、read-the-docs を取得して PyQt4 依存モジュールを処理するには問題があるようです。
私のプロジェクトの構造は次のとおりです。
pkg
pkg/__init__.py
pkg/modules/
pkg/modules/__init__.py
pkg/modules/somemodules.py
pkg/gui/__init__.py
pkg/gui/someGUImodules.py
私は sphinx-autodoc を使用して、さまざまなモジュールの docstring の html 表現を作成しています。私のローカル マシンではすべて正常に動作しますが、ドキュメントを読むには PyQt4 が必要なので 、mock
次の問題に遭遇しました: 私の GUI クラスの 1 つで、QtGui.QDialog
class listSelectorDialog(QtGui.QDialog):
def __init__(self,parent,List):
super(listSelectorDialog,self).__init__(parent)
そしてlistSelectorDialog
経由
class advancedListSelectorDialog(listSelectorDialog):
def __init__(self,parent,List):
super(advancedListSelectorDialog,self).__init__(parent,List)
嘲笑QtGui
すると、ドキュメントを読んで次のように言われます。
class advancedListSelectorDialog(listSelectorDialog):
TypeError: Error when calling the metaclass bases
str() takes at most 1 argument (3 given)
したがって、クラッシュします。[Install your project inside a virtualenv using setup.py install] を選択してパッケージを仮想環境にビルドしようとしましたが
、PyQt4 が にリストされていてもpip
インストールできません。https://superuser を参照してください。 com/questions/679298/how-to-install-pyqt4-and-what-are-the-practical-differences-between-pyqt4-and-py .
これまでに見つけた唯一の回避策は、環境が RTD の場合に GUI モジュールをロードせず、GUI モジュールのドキュメントを除外することですが、これは最終的な解決策ではありません。ありがとう。