2011-11-18 65 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腳本。