Próbowałem Sphinx, epydoc i doxygen dla mojego projektu Pythona.
Sfinks nie działa dla mnie, ponieważ zależy to od możliwości importowania każdego modułu. Chociaż mój projekt działa dobrze i Sphinx mógł znaleźć swoje moduły, Sphinx nie był w stanie zaimportować większości modułów. Sfinks może być przydatny do ogólnej dokumentacji i do tworzenia podręcznika użytkownika, ale przynajmniej do udokumentowania mojego kodu źródłowego jest bezużyteczny. Wydaje się, że moduł Sphinx musi być w stanie działać samodzielnie. Ale w moim projekcie pierwszy moduł próbuje połączyć się z bazą danych. Jeśli połączenie z bazą danych się nie powiedzie, przestaje działać. Wiele innych modułów oczekuje kursora bazy danych. Jeśli połączenie z bazą danych nie zostało ustanowione, nie można ich zaimportować, a zatem Sphinx się nie powiedzie.
Doxygen działał dobrze. W połączeniu z doxypy jest jeszcze lepiej. Ma jednak pewne wady. Jeśli chcesz mieć listę numerowaną w kodzie źródłowym, nie dostaniesz jej w dokumentacji i wersecie. Co więcej, jeśli czytasz dokumentację, źródło nie jest widoczne.
Próbowałem więc Epydoc. Chociaż Epydoc nie był aktualizowany przez więcej niż 3 lata, a tym samym był zszyty, dla mnie okazało się zdecydowanie najlepszym narzędziem do dokumentowania kodu Pythona. Epydoc, taki sam jak Sphinx, próbuje zaimportować każdy moduł, ale jeśli import się nie powiedzie, wyświetla komunikat o błędzie, a następnie próbuje przeanalizować moduł, tak jak robi to doxygen. Dokumentacja wygenerowana przez Epydoc jest przyjemna i ma pewne zalety w porównaniu z doxygen: 1. Źródło, które jest udokumentowane, może być widoczne za pomocą jednego kliknięcia. 2. Listy numerowane w docstringu są również ponumerowane w dokumentacji.
Instalacja Sphinx jest dość skomplikowana, jeśli nie można użyć easy_install z połączeniem internetowym. To dlatego, że Sfinks zależy od innych pakietów. Doxygen można zainstalować tak łatwo, jak większość programów z instalatorem jednym kliknięciem. Ale DoxyPy i może być gaphviz powinien również zostać zainstalowany. Expydoc też można zainstalować za pomocą jednego kliknięcia, ale w systemie Windows 7 należy to zrobić jawnie jako admin, podczas gdy instalator Epydoc nie sprawdza sam, czy jest uruchamiany z wystarczającymi uprawnieniami. Zdobycie pierwszej użytecznej dokumentacji mojego projektu było zdecydowanie najłatwiejsze i najszybsze w Epydoc. Wreszcie Epydoc nadal może być rekomendowany jako najlepsze narzędzie do dokumentowania projektów Pythona. Sfinks może być dobrym narzędziem do tworzenia dokumentacji użytkownika.
Dziękuję bardzo. To jest właśnie wynik, którego szukałem. :-) – dubbaluga