Как получить документацию Python в формате Texinfo Info?
начиная с Python 2.6, кажется, что документация находится в новом reStructuredText формат, и это не кажется очень легко построить Texinfo Info файл из коробки больше.
Я наркоман Emacs и предпочитаю мою документацию, установленную в Info.
есть ли у кого-нибудь Python 2.6 или более поздние документы в формате Texinfo? Как вы их обратили? Или где-то есть поддерживаемая сборка?
Я знаю, что могу использовать w3m или haddoc для просмотра html-документов - я действительно хочу, чтобы они были в информации.
Я играл с Pandoc но после нескольких небольших экспериментов он, похоже, не очень хорошо справляется со связями между документами, и мой большой эксперимент - запуск его через все документы, чтобы посмотреть, что произойдет - все еще пыхтит два дня с тех пор, как я начал его!
два хороших ответа
выделение двух ответов ниже, потому что так не позволит мне принять оба ответы:
- @wilfred-hughes:установка из MELPA Это самый быстрый способ получить информацию о предварительной сборке в Emacs
- @alioth:дом сам похоже, что это намного проще, чем когда я задал этот вопрос в 2009
7 ответов
я упаковал документы Python в виде файла texinfo.
Если вы используете Emacs с MELPA, вы можете просто установить это с M-x package-install python-info
.
Джон Уолтман http://bitbucket.org/jonwaltman/sphinx-info раздвоенный Сфинкс и написал texinfo builder, он может создавать документацию python (я еще не сделал этого). Похоже, что вскоре он будет слит со сфинксом.
вот быстрые ссылки для загрузки (временно):
шаги для создания документа python в формате texinfo:
загрузите исходный код python
Загрузите и установите сфинкс-инфо пакет (в virtualenv)
введите в каталог Python / Doc из python источники
отредактируйте файл Makefile в build
цель заменить $(PYTHON) tools/sphinx-build.py
С sphinx-build
, затем добавьте эту цель в makefile, обратите внимание, пространство перед echo-вкладка:
texinfo: BUILDER = texinfo
texinfo: build
@echo
@echo "Build finished. The Texinfo files are in _build/texinfo."
@echo "Run \`make' in that directory to run these through makeinfo" \
"(use \`make info' here to do that automatically)."
изменить Python/Doc/conf.py добавление:
texinfo_documents = [
('contents', 'python', 'Python Documentation', 'Georg Brandl',
'Python', 'The Python Programming Language', 'Documentation tools',
1),
]
затем запустите make texinfo
и он должен создать текстовый файл в каталоге build/texinfo.
Для создания файла info запустите makeinfo python.texi
без сомнения, было бы здорово и сложно создать документацию Python на вашей конкретной версии Python самостоятельно. Просто следуйте EmacsWiki, или не стесняйтесь компилировать его локально (в Debian Jessy для Python3.4.2):
sudo apt-get install python3-sphinx
cd ~/Desktop
wget https://www.python.org/ftp/python/3.4.2/Python-3.4.2rc1.tar.xz
tar -xf Python-3.4.2rc1.tar.xz
cd Python-3.4.2rc1/Doc/
sphinx-build -b texinfo -d build/doctrees . build/texinfo
# extra time to build
cd build/texinfo/
makeinfo python.texi
# extra time for convertation
Я получил это дерево:
.
├── logging_flow.png
├── Makefile
├── pathlib-inheritance.png
├── python.info
├── python.info-1
├── python.info-10
├── python.info-11
├── python.info-12
├── python.info-13
├── python.info-14
├── python.info-15
├── python.info-16
├── python.info-17
├── python.info-18
├── python.info-19
├── python.info-2
├── python.info-20
├── python.info-21
├── python.info-22
├── python.info-23
├── python.info-24
├── python.info-25
├── python.info-26
├── python.info-27
├── python.info-28
├── python.info-29
├── python.info-3
├── python.info-30
├── python.info-31
├── python.info-32
├── python.info-33
├── python.info-34
├── python.info-4
├── python.info-5
├── python.info-6
├── python.info-7
├── python.info-8
├── python.info-9
├── python.texi
├── python-video-icon.png
├── tulip_coro.png
└── turtle-star.png
и теперь можно просмотреть документацию python изначально в Emacs by
C-u C-h I python-информация РЕТ
python-info-это имя файла (четвертое в дереве выше) и даже закладка некоторых произвольных узлов для привычного и регулярного удобства просмотра.
для тех, кто следует за этим вопросом в надежде на ответ, я нашел другую реализацию rst2texinfo, которую вы могли бы попробовать:
еще одним "обходным путем" является выполнение pydoc
как предложил Nikokrock непосредственно в Emacs:
(defun pydoc (&optional arg)
(interactive)
(when (not (stringp arg))
(setq arg (thing-at-point 'word)))
(setq cmd (concat "pydoc " arg))
(ad-activate-regexp "auto-compile-yes-or-no-p-always-yes")
(shell-command cmd)
(setq pydoc-buf (get-buffer "*Shell Command Output*"))
(switch-to-buffer-other-window pydoc-buf)
(python-mode)
(ad-deactivate-regexp "auto-compile-yes-or-no-p-always-yes")
)
Майкл Эрнст использовал для поддержания информационных форматов документов Python:
http://www.cs.washington.edu/homes/mernst/software/#python-info
вы можете попробовать использовать его makefile и html2texi скрипт для создания обновленной версии. Оба связаны по вышеуказанному адресу. Я не уверен, насколько хорошо он работает сейчас (последняя версия была около 2001 года), но его скрипт хорошо прокомментирован (grep для "python").
документы Python теперь генерируются с помощью Sphynx framework. Эта структура не имеет выходного формата texinfo. В настоящее время он имеет:
- HTML-код
- латекс
- обычный текст
возможно, вы можете получить то, что хотите, используя выход Latex. С выводом текста вы потеряете перекрестный ref.
Personnaly я предпочитаю использовать pydoc, когда мне нужен текстовый вывод. С Vim у меня есть shorcut для вызова pydoc и открытия окна с doc для сущность под моим курсором...