Sweave для Python

Я недавно начал использовать Sweave* для создания сообщений об исследованиях, выполненных с R, и теперь надеюсь делать то же с моими сценариями Python.

Я нашел ссылки на встраивание Python в документах Sweave, но это походит на определенный взлом. Кто-либо разработал лучшее решение или является там эквивалентом для Python, о котором я не знаю?

* Sweave является инструментом, который позволяет встраивать код R для полных анализов данных в латексных документах

27
задан mdsumner 23 September 2011 в 14:22
поделиться

5 ответов

Я не верю, что есть прямой эквивалент, так что предложение Ромена Франсуа (в вашей ссылке), вероятно, лучшее. Вы также можете рассмотреть следующее:

  1. Взгляните на PyLit и PyReport, которые предназначены для грамотного программирования с помощью Python.
  2. Sphinx отлично подходит для документирования с питоном, и может выводить LaTex.
  3. Вот список инструментов для грамотного программирования . Некоторые из них работают с любым языком программирования.
17
ответ дан 28 November 2019 в 04:17
поделиться

Вы можете попробовать SageTex , который реализует скровную функциональность для математической платформы . Я не играл с ним так сильно, как я бы хотел, но мудрец в основном является питоной оболочкой и оценивает Python, как это родной язык.

3
ответ дан 28 November 2019 в 04:17
поделиться

Я тоже много раз думал об одном и том же. Прочитав ваши вопросы и изучив вашу ссылку, я внес небольшие изменения в настраиваемый драйвер python Sweave, на который вы ссылаетесь. Я изменил его, чтобы сохранить исходный код и произвести вывод так же, как Sweave для R.

Я разместил измененную версию и пример здесь: http://mpastell.com/2010/ 02/09 / python-in-sweave-document /

Конечно, это не оптимально, но я вполне доволен результатом, и мне нравится возможность включать как R, так и Python в один документ.

Изменить информацию о PyLit :

Мне также нравится PyLit, и, вопреки моему первоначальному ответу, вы также можете уловить выход с его помощью, хотя он не такой элегантный, как Sweave! Вот небольшой пример того, как это сделать:

import sys

# Catch PyLit output

a = range(3)
sys.stdout = open('output.txt', 'w')
print a
sys.stdout = sys.__stdout__

# .. include:: output.txt
3
ответ дан 28 November 2019 в 04:17
поделиться

Я написал реализацию Sweave на Python под названием Pweave, которая реализует базовую функциональность и некоторые опции Sweave для кода Python, внедренного в документ reST или Latex. Вы можете получить его здесь: http://mpastell.com/pweave и посмотреть оригинальную запись в блоге здесь: http://mpastell.com/2010/03/03/pweave-sweave-for-python/

25
ответ дан 28 November 2019 в 04:17
поделиться

Вы могли бы подумать о noweb, который не зависит от языка и является основой Sweave. Я использовал его для Python, и он хорошо работает.

http://www.cs.tufts.edu/~nr/noweb/

5
ответ дан 28 November 2019 в 04:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: