2009-04-22 100 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