2009-04-22 4 views
0

Есть ли способ вызвать установленное яйцо python из кода python? Мне нужно кал документации сфинкса генератора внутри кода Python, и в настоящее время я делаю это так:Доступ к яйцам в питоне?

os.system("sphinx-build.exe -b html c:\\src c:\\dst")

Это работает, но требует дополнительной настройки: папка «Scripts» Внутри Папка установки python должна быть добавлена ​​в систему PATH (я на Windows). Это лучше, родной способ вызвать установленный python яйцо?

ответ

2

Итак, вы хотите использовать Sphinx в качестве библиотеки?

Вот что делает sphinx-build:

from pkg_resources import load_entry_point 

load_entry_point('Sphinx==0.5.1', 'console_scripts', 'sphinx-build')() 

Глядя на entry-points.txt в каталоге EGG-INFO, обратите внимание, что точка входа сфинкс-сборки является sphinx.main функция (находится в __init__.py).

Посмотрите на это и повторите то, что он делает, и вы можете использовать sphinx в качестве библиотеки. Я не смотрел на код подробно, но кажется, что основная часть команды sphinx-build выполняется методом build на объекте Sphinx.

В вашем коде, вы должны сделать что-то вроде:

from sphinx.application import Sphinx 
s = Sphinx(...) 
s.build(...) 

Вы должны взглянуть на исходный код Sphinx, чтобы выяснить параметры Sphinx.__init__() и Sphinx.build()

1

Добавление яйца в PYTHONPATH или sys.path позволит вам получить доступ к модулям и пакетам внутри.

+1

-1: Нет ссылка на документацию: http://docs.python.org/tutorial/modules.html –

Смежные вопросы