Подтвердить что ты не робот

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

Поскольку Python 2.6, похоже, документация находится в новом формате reStructuredText, и, похоже, это не очень легко построить a Texinfo Info файл из коробки больше.

Я наркоман Emacs и предпочитаю, чтобы моя документация была установлена ​​в Info.

Кто-нибудь имеет документы Python 2.6 или более поздние версии в формате Texinfo? Как вы их преобразовали? Или, там где-то там поддерживается?

Я знаю, что могу использовать w3m или haddoc для просмотра html-документов - я действительно хочу их в Info.

Я играл с Pandoc, но после нескольких небольших экспериментов он, похоже, не справляется со ссылками между документами, и мой более крупный эксперимент - запуск его по всем документам, сокрытым вместе, чтобы увидеть, что происходит, - все еще прерывается через два дня с тех пор, как я начал его!

Два хороших ответа

Подчеркнув два ответа ниже, потому что SO не позволит мне принять оба ответа:

4b9b3361

Ответ 2

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

Ответ 3

Для тех, кто следит за этим вопросом в надежде на ответ, я нашел еще одну реализацию rst2texinfo, которую вы могли бы попробовать:

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

Ответ 4

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

Ответ 5

Майкл Эрнст использовал для поддержки информационных форматов документов Python:

http://www.cs.washington.edu/homes/mernst/software/#python-info

Вы можете попробовать использовать его makefile и html2texi script для создания обновленной версии. Оба связаны по указанному выше URL. Я не уверен, насколько хорошо это работает сейчас (последняя версия была около 2001 года), но его script хорошо комментируется (grep для "python" ).

Ответ 6

Без сомнения, было бы здорово и сложно создать документацию 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 - это имя файла (четвертое в дереве выше) и даже для закладки некоторых произвольных узлов для обычного и регулярного просмотра.

Ответ 7

Документы Python теперь создаются с использованием инфраструктуры Sphynx. В этой структуре нет формата вывода texinfo. В настоящее время он имеет:

  • HTML
  • латекс
  • обычный текст

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

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