Как вы получаете документацию по Python в формате Texinfo Info?
-
20-08-2019 - |
Вопрос
Начиная с Python 2.6, кажется, что документация находится в новом Реструктурированный текст формат, и, кажется, не очень легко создать Texinfo Информация файл больше не из коробки.
Я зависим от Emacs и предпочитаю, чтобы моя документация была установлена в Info.
У кого-нибудь есть документы Python 2.6 или более поздней версии в формате Texinfo?Как вы их преобразовали?Или где-то там есть поддерживаемая сборка?
Я знаю, что могу использовать w3m или хаддок чтобы просмотреть html-документы - я действительно хочу, чтобы они были в Info.
Я играл с Пандок но после нескольких небольших экспериментов, похоже, он плохо справляется со ссылками между документами, и мой более масштабный эксперимент - прогон по всем документам, собранным вместе, чтобы посмотреть, что получится, - все еще длится два дня с тех пор, как я начал его!
Два хороших ответа
Выделяя два ответа ниже, потому что это не позволит мне принять оба ответа:
- @уилфред-Хьюз: Установка от MELPA это самый быстрый способ получить информацию о предварительной сборке в Emacs
- @алиот: Строите его сами похоже, это намного проще, чем когда я задавал этот вопрос в 2009 году
Решение
Я упаковал все Документы Python в виде файла texinfo.
Если вы используете Emacs с MELPA, вы можете просто установить это с помощью M-x package-install python-info
.
Другие советы
Джон Уолтман http://bitbucket.org/jonwaltman/sphinx-info разветвил sphinx и написал texinfo builder, он может создавать документацию python (я еще не сделал этого).Похоже, что скоро он будет объединен в sphinx.
Вот быстрые ссылки для загрузок (временные):
Шаги по созданию python doc в формате 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.Чтобы сгенерировать информационный файл, запустите makeinfo python.texi
Без сомнения, было бы здорово и сложно самостоятельно сгенерировать документацию Python для вашей конкретной версии Python.Просто следуйте ЭмаксВики, или не стесняйтесь скомпилировать его локально (в 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 Автор:
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 для создания обновленной версии.Оба связаны по приведенному выше URL-адресу.Я не уверен, насколько хорошо это работает сейчас (последняя версия была выпущена примерно в 2001 году), но его сценарий хорошо прокомментирован (grep для "python").
Документы Python теперь создаются с использованием Sphynx framework.Этот фреймворк не имеет выходного формата texinfo.В настоящее время он имеет:
- HTML
- Латекс
- обычный текст
Возможно, вы сможете получить то, что хотите, используя выходные данные Latex.При выводе текста вы потеряете ссылку на крестик.
Лично я предпочитаю использовать pydoc, когда мне нужен текстовый вывод.С Vim у меня есть сокращение для вызова pydoc и открытия окна с документом для объекта под моим курсором...