2016-06-26 3 views
1

私はdocstringsを使ってpythonコードを文書化し、sphinx-autodocを使ってapidoc HTMLを生成しています。私のパッケージの構造は以下の通りです:mainpackage.subpackage.module、私はapidocsをではなくmainpackage.subpackage.Classというモジュールのクラスにリンクさせたいと思います。私の問題は、例えば、scikit-multilearnプロジェクトから来ている:私はskmultilearn.base.baseMLClassifierBaseクラスがありますが、私はskmultilearn.base__init__.pyでそれをインポートしています、と私はスフィンクス-生成apidocsはそれだけとしてskmultilearn.base.MLClassifierBaseなくskmultilearn.base.base.MLClassifierBaseとして、このクラスを使用したいです今です。助けてもらえますか?apidocでsphinx-apidocのモジュールの代わりにパッケージを使う方法

私はすでに試した:

  • __all__ = ['MLClassifierBase']

  • skmultilearn/base/__init__.pyに広告を追加しました

  • skmultilearn/base/__init__.py""".. automodule:: base"""を追加 Sphinx apidoc - don't print full path to packages and modulesごと conf.pyadd_module_names = Falseを設定 MLClassifierBaseから派生するすべてのクラスでskmultilearn.base.base.MLClassifierBase:私はまだ 拠点を抱えているクラスのドキュメント

.. autoclass:: base.MLClassifierBaseをDED。これをどのように変更しますか?

+0

のクラス

  • のどこにも言及した:mod:
  • 輸入クラス名の定義http://stackoverflow.com/q/15115514/407651およびhttp://stackoverflow.com/q/30856279/407651と同様 – mzjn

  • 答えて

    0

    私は解決策を見つけた:

    """ 
    The :mod:`skmultilearn.base` module implements base 
    classifier classes for scikit-multilearn's multi-label classification. 
    """ 
    
    from .base import MLClassifierBase 
    from .problem_transformation import ProblemTransformationBase 
    
    __all__ = ["MLClassifierBase", 
          "ProblemTransformationBase"] 
    

    それはbase.ProblemTransformationBaseなくbase.base.ProblemTransformationBaseのドキュメントを生成します。あなたは__init__.pyにalltogether三つの要素を持っている必要があります:

    • `すべて` `
    関連する問題