1

初めてパッケージを作成しましたが、ユーザーが呼び出したときに表示されるドキュメントhelp(my_package)が不完全であることに気付きました。を呼び出すときに、クラス、メソッド、関数、および属性のリストを取得できれば幸いですhelp()。そして理想的には、docstringsからの機能の説明。

ドキュメントを読んでpydocも、そこに提供されている情報が少しまばらであるため、まだ方法がわかりません。

私が正しく理解しhelp()た場合、ユーザーがこの関数を呼び出すと、の「出力」が自動的に作成されますか? または、何か特別なものを提供して指定する必要がありますか?

現在、help()パッケージ (ここでは pdbsr) を呼び出すと、次のようになります。

Help on package pdbsr:

NAME
    pdbsr

FILE
    /.../pdbsr/__init__.py

PACKAGE CONTENTS
    bugtest (package)
    exceptions (package)
    extras (package)
    info (package)
    pdbfile (package)

SUBMODULES
    pdb_properties
    slide

DATA
    __version__ = '0.1.0'
    l2lvl = ['HEADER    LANTIBIOTIC-BINDING-PROTEIN             06-JUL-12 ...
    l3eiy = ['HEADER    HYDROLASE                               17-SEP-08 ...
    s2lvl = 'HEADER    LANTIBIOTIC-BINDING-PROTEIN           ...    0    0...
    s3eiy = 'HEADER    HYDROLASE                             ...    0   13...

VERSION
    0.1.0

そして、pdbsr.exceptions などのサブモジュールを呼び出すと、次のようになります。

Help on package pdbsr.exceptions in pdbsr:

NAME
    pdbsr.exceptions

FILE
    /.../pdbsr/exceptions/__init__.py

PACKAGE CONTENTS
    pdb_exceptions

(END) 

現在のフォルダー構造の概要は次のとおりです。

ここに画像の説明を入力

そして、私のセットアップファイルは現在次のようになっています:

try:
    from setuptools import setup
except ImportError:
    from distutils.core import setup



setup(
      name='pdbsr',
      version='0.1.0',
      description='Protein Structure File Utilities',
      long_description=open('README.rst').read() + '\n\n' +
                       open('HISTORY.rst').read(),
      author='Sebastian Raschka',
      author_email='...',
      license=open('LICENSE').read(),
      #url='...',
      packages = [
         'pdbsr',
         'pdbsr.bugtest', 
         'pdbsr.exceptions', 
         'pdbsr.pdbfile',
         'pdbsr.extras',
         'pdbsr.info'
      ],
      package_dir={'pdbsr': 'pdbsr'},
      package_data={'': ['LICENCE']},
      install_requires=[''],
      include_package_data=True,
      )

そして、これは私の一番上の__init__.pyファイルの内容です:

from info.version import __version__

from pdbfile.new_pdb import *
from pdbfile.load_pdb import *
from pdbfile.pdb_lig import *
from pdbfile.pdb_prot import *

from bugtest.doct_2lvl import *
from bugtest.doct_3eiy import *

import extras.slide_functions as slide
4

2 に答える 2

1

問題は、最初にモジュールでpydocを実行し、次にモジュール内の各pyファイルを実行する必要があることです。Windows を使用しているので、CMD ファイルに SET PYTHONPATH=C:/Python27 を追加しました。bde は、site-packages に入れられた私のパッケージであり、その中には多数のスクリプトがあります。

%PYTHONPATH%/python %PYTHONPATH%\lib\pydoc.py -w bde

モジュール名で pydoc を実行すると、現在のディレクトリに .html が取得されます。これには、init .py ファイルからの概要と、含まれているすべてのファイルへのリンクが含まれています。ただし、リンクが機能するにはターゲットが必要です。

したがって、各サブモジュールで pydoc を再度実行するだけです。

%PYTHONPATH%/python %PYTHONPATH%\lib\pydoc.py -w bde.auto_model 
%PYTHONPATH%/python %PYTHONPATH%\lib\pydoc.py -w bde.settings 
%PYTHONPATH%/python %PYTHONPATH%\lib\pydoc.py -w bde.static 
%PYTHONPATH%/python %PYTHONPATH%\lib\pydoc.py -w bde.validate_csv
%PYTHONPATH%/python %PYTHONPATH%\lib\pydoc.py -w bde.model 
%PYTHONPATH%/python %PYTHONPATH%\lib\pydoc.py -w bde.mixin 
%PYTHONPATH%/python %PYTHONPATH%\lib\pydoc.py -w bde.create_table 
%PYTHONPATH%/python %PYTHONPATH%\lib\pydoc.py -w bde.make_model 
%PYTHONPATH%/python %PYTHONPATH%\lib\pydoc.py -w bde.apply 
%PYTHONPATH%/python %PYTHONPATH%\lib\pydoc.py -w bde.copy_data

次に、参照されているすべてのファイルを含む完全な html ツリーが作成されます。サブサブモジュールがある場合など。sys のような組み込みモジュールがある場合、それらはリンクされませんが、それらに対して pydoc を実行することもできます。

于 2014-11-28T08:27:09.100 に答える