1

Я хочу установить некоторый HTML-он-лайн документ, который сделан (скомпилированный из rSt), используя sphinx, а также код python в пакет сайта. Я хочу это с помощью setup.py.Установите скомпилированный документ sphinx из setup.py

Чтобы уточнить, я хочу скопировать мои файлы *.rst в HTML и затем скопировать в пакет сайта из файла setup.py, когда пользователь набирает python setup.py install.

Кто-нибудь знает, как это сделать? Я смотрю в sphinx и setuptools doc, но не смог найти информацию.

Причина, по которой я хочу это сделать, заключается в том, что мой пакет является графическим инструментом, а HTML - онлайновой помощью. Он отображается во внутреннем браузере графического интерфейса пользователя.

ответ

2

Как уже отмечалось вам потребуется MANIFEST.in файл включать каталог документы:

recursive-include docs * 

Теперь в вашем setup.py вы можете программно сгенерировать сфинкс документацию из вашего *.rst файлов.

Вот пример того, как сделать это автоматически при запуске python setup.py install:

from distutils.core import setup 

# set dependencies, we need sphinx to build doc 
dependencies = ['sphinx'] 

setup(
    name='my_package' 
    # rest of your setup 
) 

# auto-generate documentation 
import sphinx 

# automatically build html documentation 
# For example: 
# format = 'html' 
# sphinx-src-dir = './doc' 
# sphinx-build-dir = './doc/build' 
sphinx.build_main(['setup.py', '-b', '<format>', '<sphinx-src-dir>', '<sphinx-build-dir>']) 

Как это вы можете запустить sphinx-build по мере необходимости (Documentation).

Примечание: Это может быть хорошей идеей, чтобы добавить Custom command в свой setup.py для отделения генерации документации (F.E. python setup.py make_doc [params]) и установить процедуру (python setup.py install). Таким образом, пользователь может легко предоставить параметры format, sphinx-src-dir и sphinx-build-dir.

1

Вы можете добавить их в свой MANIFEST.in, а затем построить пакет

recursive-include docs * 

Тогда будет распространяться вместе с яйцом

+0

Что делать, если я хочу, чтобы документ был скомпилирован на стороне пользователя (когда он запустил настройку)? – Antoine