2011-11-18 63 views
2

在ipython 0.10和0.11中,是否有一种简单的方法来制作和保存别名?我知道有关于允许存储0.12的别名的讨论,但是我可以怎样处理我的学生,这很容易。我想拯救这个别名:保存ipython别名

alias rtupdate (cd ~/projects/researchtools; hg pull; hg update) 

是编辑〜/ .ipython/ipythonrc或跟随http://ipython.scipy.org/Wiki/tips 0.10或0.11(HTTP与别名经理的工作唯一真正的选择://wiki.ipython .org/Cookbook/Moving_config_to_IPython_0.11)?

学生每个人都有自己的VMWare Ubuntu 11.04虚拟机,ipython 0.10.1。我可以在组织模式下将其设置为一个单独的shell可执行块,并添加makefile以提醒用户如何使用mercurial进行pull和更新,但是我还没有解释Makefile是什么。例如这种暗示:

https://bitbucket.org/schwehr/researchtools/src/829773b7db64/Makefile

+0

IPython 0.10和0.11的内部存在巨大差异。您可能需要决定与其中一方合作。 FWIW,我认为%store在0.10.x中处理别名,但在0.11中重构时被破坏。 –

+0

我们只是使用了0.10,所以我现在只需要用'store'和它旁边的注释来让0.11无效。在目标系统之外开发时版本歪斜的乐趣(使用ipython 0.11的fink mac osx)。 –

回答

4

是你的学生对自己的机器,或者你控制自己的环境?

如果您希望配置从一个会话继续到另一个会话,官方的方式是编辑您的配置,但还有其他方法。例如,您可以编写一个定义额外别名的IPython extension,并将其提供给您的学生。

但是,对于您的学生来说最简单的方法是简单地提供一个启动时运行的脚本,包含您要运行的行,定义别名等。您可以将其称为init.ipy,然后指示IPython运行脚本。这可以在配置中使用InteractiveShellApp.exec_files来完成,或者您可以在命令行中使用ipython -i init.ipy或稍后在%run init.ipy处指定它。

请注意,带有.ipy扩展名的脚本允许使用IPython命令(例如%alias rtupdate (cd ~/projects/researchtools; hg pull; hg update)),但如果使用.py,它将被视为常规Python脚本。