2013-03-01 60 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