在python中访问鸡蛋?

时间:2009-04-22 05:55:19

标签: python egg

有没有办法从python代码调用已安装的python egg?我需要给一个sphinx文档加密 生成器来自python代码,目前我这样做:

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

这样可行,但需要一些额外的配置:'scripts'文件夹 在python安装文件夹中需要添加到系统PATH中 (我在Windows上)。调用已安装的python是否更好,本地方式 蛋?

2 个答案:

答案 0 :(得分:2)

基本上,您想将Sphinx用作库吗?

以下是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-build入口点是sphinx.main函数(位于__init__.py)。

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

在您的代码中,您必须执行以下操作:

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

您需要查看Sphinx源代码,以确定Sphinx.__init__()Sphinx.build()

的参数

答案 1 :(得分:1)

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