2013-03-01 93 views
4

我一直在我的機器上使用IPython而不是默認的Python解釋器,因爲它有更多的功能,並且通常感覺功能更強大。我想用它在我的zc.buildout項目作爲intepreter在bin目錄,如產生Python解釋器生成本節創建於buildout.cfg在zc.buildout中生成IPython腳本

[python] 
recipe = zc.recipe.egg 
interpreter = python 
eggs = ${buildout:eggs} 

由此,在bin/python腳本這是一個Python解釋器可以訪問我所有的項目依賴項。

我想要做同樣的IPython中,並用快速谷歌給了我下面的擴建配方:

[ipython] 
recipe = zc.recipe.egg 
eggs = ipython 
script = ipython 

然而,這並不產生bin一個IPython的解釋,似乎沒有真正做任何東西。

如何爲我的構建生成一個IPython解釋器?

回答

5

這應該很好地工作:

[ipython_part] 
recipe = zc.recipe.egg:scripts 
eggs = ${buildout:eggs} 
     ipython 
scripts = ipython 

不要忘記將部件添加到擴建:

[buildout] 
parts = something something_else ipython_part 

其他腳本可在IPython的0.13:iplogger,iptest,ipcluster,pycolor,ipcontroller ,呃,ipengine。

+0

這對我不起作用。我的零件清單中只有'ipython_part'。沒有腳本生成。你正在使用什麼版本的buildout? – 2013-07-03 20:15:11

1

賈斯塔斯提供的答案應該工作,除了在這些情況下,當ipython已經安裝在系統範圍內。

要解決此問題,請在virtualenv中運行構建。必須使用--no-site-packages創建Virtualenv:

virtualenv --no-site-packages env 
env/bin/python bootstrap.py 
bin/buildout 
+0

選項--no-site-packages默認設置,因此它在最新版本的virtualenv中至少已經過時(至少從版本1.9開始)。 – jensens 2014-08-16 14:13:13