Jak utworzyć dokumentację za pomocą Pydoc?

Próbuję utworzyć dokument z mojego modułu. Użyłem pydoc z wiersza poleceń w Windows 7 używając Pythona 3.2.3:

python "<path_to_pydoc_>\pydoc.py" -w myModule

Doprowadziło to do wypełnienia mojej powłoki tekstem, po jednej linijce dla każdego pliku w module, mówiąc:

no Python documentation found for '<file_name>'

To tak, jakby Pydoc próbował zdobyć dokumentację dla moich plików, ale ja chcę ją autokreować. Nie mogłem znaleźć dobrego samouczka za pomocą Google. Czy ktoś ma jakieś wskazówki jak używać Pydoc?

Jeśli spróbuję stworzyć dokumentację z jednego pliku za pomocą

python ... -w myModule\myFile.py

Jest napisane wrote myFile.html, a kiedy go otwieram, ma jedną linijkę tekstu mówiącą:

# ../myModule/myFile.py

Ponadto, ma link do samego pliku na moim komputerze, który mogę kliknąć i pokazuje, co znajduje się w pliku w mojej przeglądarce internetowej.

Author: Lio, 2012-10-23

3 answers

Jak zasugerował RocketDonkey, Twój moduł musi mieć kilka docstringów.

Na przykład w myModule/__init__.py:

"""
The mod module
"""

Chcesz również wygenerować dokumentację dla każdego pliku w myModule/*.py używając

pydoc myModule.thefilename

Aby upewnić się, że wygenerowane pliki pasują do tych, do których odwołuje się główny plik dokumentacji modułu.

 37
Author: michel-slm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-20 21:20:04

Kolejna rzecz, którą ludzie mogą uznać za przydatną...pamiętaj, aby pominąć". py " w nazwie Twojego modułu. Na przykład, jeśli próbujesz wygenerować dokumentację dla 'original' w 'original.py':

yourcode_dir$ pydoc -w original.py
no Python documentation found for 'original.py'

yourcode_dir$ pydoc -w original
wrote original.html
 99
Author: Taylor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-11 18:36:48

Pydoc jest fantastyczny do generowania dokumentacji, ale dokumentacja musi być napisana w pierwszej kolejności. Musisz mieć docstringi w kodzie źródłowym, o czym wspomniał RocketDonkey w komentarzach:

"""
This example module shows various types of documentation available for use
with pydoc.  To generate HTML documentation for this module issue the
command:

    pydoc -w foo

"""

class Foo(object):
    """
    Foo encapsulates a name and an age.
    """
    def __init__(self, name, age):
        """
        Construct a new 'Foo' object.

        :param name: The name of foo
        :param age: The ageof foo
        :return: returns nothing
        """
        self.name = name
        self.age = age

def bar(baz):
    """
    Prints baz to the display.
    """
    print baz

if __name__ == '__main__':
    f = Foo('John Doe', 42)
    bar("hello world")

Pierwszy docstring zawiera instrukcje do tworzenia dokumentacji za pomocą pydoc. Istnieją przykłady różnych typów docstringów, dzięki czemu można zobaczyć, jak wyglądają one podczas generowania za pomocą pydoc.

 80
Author: zzzirk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-09 17:32:35