有没有办法从python代码调用已安装的python egg?我需要给一个sphinx文档加密 生成器来自python代码,目前我这样做:
os.system( "sphinx-build.exe -b html c:\\src c:\\dst" )
这样可行,但需要一些额外的配置:'scripts'文件夹 在python安装文件夹中需要添加到系统PATH中 (我在Windows上)。调用已安装的python是否更好,本地方式 蛋?
答案 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将允许您访问其中的模块和包。