Ответ 1
Я упаковал документы Python в виде файла texinfo.
Если вы используете Emacs с MELPA, вы можете просто установить его с помощью M-x package-install python-info
.
Поскольку Python 2.6, похоже, документация находится в новом формате reStructuredText, и, похоже, это не очень легко построить a Texinfo Info файл из коробки больше.
Я наркоман Emacs и предпочитаю, чтобы моя документация была установлена в Info.
Кто-нибудь имеет документы Python 2.6 или более поздние версии в формате Texinfo? Как вы их преобразовали? Или, там где-то там поддерживается?
Я знаю, что могу использовать w3m или haddoc для просмотра html-документов - я действительно хочу их в Info.
Я играл с Pandoc, но после нескольких небольших экспериментов он, похоже, не справляется со ссылками между документами, и мой более крупный эксперимент - запуск его по всем документам, сокрытым вместе, чтобы увидеть, что происходит, - все еще прерывается через два дня с тех пор, как я начал его!
Подчеркнув два ответа ниже, потому что SO не позволит мне принять оба ответа:
Я упаковал документы Python в виде файла texinfo.
Если вы используете Emacs с MELPA, вы можете просто установить его с помощью M-x package-install python-info
.
Jon Waltman http://bitbucket.org/jonwaltman/sphinx-info имеет разветвленный сфинкс и написал конструктор texinfo, он может построить документацию на python (я еще это сделал), Похоже, что вскоре он будет объединен в сфинкс.
Здесь быстрые ссылки для загрузки (временные):
Шаги для создания документа python в формате texinfo:
Загрузите исходный код python
Загрузите и установите пакет sphinx-info (в виртуальном каталоге)
Введите в каталог Python/Doc из источников python
Отредактируйте Makefile, в build
target замените $(PYTHON) tools/sphinx-build.py
на sphinx-build
, затем добавьте эту цель в make файл, обратите внимание, пространство перед эхом - это TAB:
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
, и он должен создать texifile в каталоге build/texinfo.
Чтобы создать файл info makeinfo python.texi
Для тех, кто следит за этим вопросом в надежде на ответ, я нашел еще одну реализацию 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 script для создания обновленной версии. Оба связаны по указанному выше URL. Я не уверен, насколько хорошо это работает сейчас (последняя версия была около 2001 года), но его script хорошо комментируется (grep для "python" ).
Без сомнения, было бы здорово и сложно создать документацию 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 на
C-u C-h я python-info RET
python-info - это имя файла (четвертое в дереве выше) и даже для закладки некоторых произвольных узлов для обычного и регулярного просмотра.
Документы Python теперь создаются с использованием инфраструктуры Sphynx. В этой структуре нет формата вывода texinfo. В настоящее время он имеет:
Возможно, вы можете получить то, что хотите, используя выход Latex. С текстом вы потеряете крест ref.
Personnaly Я предпочитаю использовать pydoc, когда хочу текстовый вывод. С Vim у меня есть shorcut для вызова pydoc и открытия окна с документом для объекта под моим курсором...