2017-12-14 8 views
0

SWIGがCコードで生成したいくつかのPythonインターフェイスモジュールのドキュメントを生成しようとしています。私はポストを述べたように(* .I)SWIGインタフェースファイルで%feature(docstring)ディレクティブを使用しています:意図したとおりに Sphinx and documenting python from a swigged C++ apiSWIGで生成されたPythonファイルのPythonモジュールのインポート中にエラーが発生する

SWIGが生成したPythonモジュールでのドキュメンテーション文字列を生成しています。

しかし、私はSWIGの外にドキュメントを生成しようとしています、それは例外がスローされたPythonモジュールを生成:

/home/imitra/testdoc/doc/test_module.rst:4: WARNING: autodoc: failed to import module u'test_module'; the following exception was raised: 
Traceback (most recent call last): 
    File "/home/imitra/.local/lib/python2.7/site-packages/sphinx/ext/autodoc.py", line 658, in import_object 
    __import__(self.modname) 
    File "/home/imitra/testdoc/generated/test_module.py", line 3, in <module> 
    _test_module = swig_import_helper() 
    File "/home/imitra/testdoc/generated/test_module.py", line 25, in swig_import_helper 
    return importlib.import_module('_test_module') 
    File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module 
    __import__(name) 
ImportError: No module named _tiger 

スフィンクスがtest_module.pyをインポートしようとして、これが起こるとSWIGはコード実行されますが生成されました。

この問題を回避する方法はありますか? 私はSWIGとSphinxの初心者です。 あなたの考えをお伝えください。

+0

これは '_tiger'が見つかりませんでした。あなたはモジュールをインポートできますか?それ以外の場合は、スタックトレースを呼び出して、どこに呼び出されるかを確認します。 –

+0

SOLVED:ありがとうSteve私はsys.pathに入れるためにSWIGを使ってラップした1つの* .soファイルを見逃していました。スフィンクスはモジュールをロードできませんでした。 –

答えて

0

requirements.txt-fileを更新するのを忘れた場合と同様に、ReadTheDocs.ioで同様のエラー(Sphinxを構築するとき)が発生します。 RTDはすべての依存関係をインストールすることを知らない。

C++やSWIGに関するスフィンクスについて、あるいはあなたの問題に該当するかどうかはよく分かりません。

関連する問題