Как вы получаете документацию по Python в формате Texinfo Info?

StackOverflow https://stackoverflow.com/questions/1054903

Вопрос

Начиная с 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, которую вы, возможно, захотите попробовать:

http://bitbucket.org/jonwaltman/rst2texinfo/src

Другим "обходным путем" является выполнение 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.В настоящее время он имеет:

  1. HTML
  2. Латекс
  3. обычный текст

Возможно, вы сможете получить то, что хотите, используя выходные данные Latex.При выводе текста вы потеряете ссылку на крестик.

Лично я предпочитаю использовать pydoc, когда мне нужен текстовый вывод.С Vim у меня есть сокращение для вызова pydoc и открытия окна с документом для объекта под моим курсором...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top