2017-09-08 19 views
0

我正在尋找替代IPython的命令行,解決了我與iPython兩個最大的困擾。IPython替代更好的自動重載

1)自動重裝對函數很有用,但我希望它也可以用於if語句main語句,這樣我就不必不斷地重新運行文件來捕獲這裏的變化。

2)由於我必須重新運行IPython中的文件來捕獲所有的更改,出於某種原因,有些時候在對文件進行更改後,它不會運行最新版本的文件。這經常發生,經常需要退出並重新輸入IPython來解決這個問題。

尋找一個類似的命令行替代IPython或打開任何IPython黑客解決這些問題!

回答

1

根據您的代碼運行的時間長度,您可能需要查看Codi(對於vim,但對於其他編輯器存在類似的插件),或者僅使用第二個窗口watch python yourprogram.py。它可能會覆蓋您的需求。

這就是說,autoreload可能是一個棘手的過程:你不能在Python中重載所有東西,並且IPython有很多保護措施,它不會有意地重新加載,以避免在腳中自我射擊(其中一個最近添加的例子是Python 3.6 Enums)。所以也許你想做的一些事情無法完成,或者被隱藏的選項所保護。沒有一個具體的例子很難說。

雖然,%autoreload和reload沒有很多用戶,並且bug報告很少。如果你有一個非工作代碼的例子,我敢肯定,IPython開發人員會很樂意得到一個錯誤報告,如果可修復的將很樂意指導你如何解決問題並提交PR。

也看看%run -i這可能會幫助您不必退出並重新輸入IPython。

+0

非常感謝!從頭腦裏知道一個類似Codi的emacs版本? – Kristie

+0

不幸的是沒有。我已經看到了,但從頭頂上找不到名字。對於那個很抱歉。 – Matt