2009-04-22 117 views
0

有什么办法从python代码中调用已安装的python egg?我需要从Python代码中CAL狮身人面像文档 发生器,目前我正在做这样的:访问Python中的鸡蛋?

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

这工作,但需要一些额外的配置:“脚本”文件夹 内python安装文件夹需要添加到系统路径 (我在Windows上)。是否更好,本地方式来调用已安装的python 鸡蛋?

回答

2

所以基本上,你想使用狮身人面像作为图书馆?

这里是sphinx-build做:

from pkg_resources import load_entry_point 

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

在EGG-INFO目录entry-points.txt来看,注意到狮身人面像建造的入口点是sphinx.main功能(位于__init__.py)。

看看那个并重复它的功能,你可以使用sphinx作为库。我没有详细查看代码,但似乎sphinx-build-命令的大部分是通过Sphinx对象上的build方法完成的。

在你的代码,你会做这样的事情:

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

你需要看看狮身人面像源代码的参数计算出Sphinx.__init__()Sphinx.build()

1

将蛋添加到PYTHONPATH或sys.path将允许您访问其中的模块和包。

+1

-1:无参考文档:http://docs.python.org/tutorial/modules.html – 2009-04-22 10:41:50