jupyter如何重新加載模塊

最近幾年,jupyter在全球數據科學領域,已經成爲不可或缺的重要工具。

在jupyter中用python寫程序,若import了自己寫的外部模塊,如果這個外部模塊有更新,再次執行import,jupyter是不會重新導入的。一般的做法是先restart整個jupyter文檔,再重新執行代碼,以確保所有導入的外部模塊都是最新的。但這種做法太麻煩,效率也不高。

網上搜“jupyter auto reload”,目前搜到的主要是ipython的%load_ext,這在jupyter下並不適用;也搜到了reload,但發現在不同版本的jupyter下也有問題。

現在看來,這個問題雖然簡單,但目前網上的solution還不是很容易檢索到,所以值得在這裏記錄一下。

在jupyter下實現模塊重新加載(每一次運行import,都導入模塊最新的代碼),有三種方式:

  1. 對於 Python2.x
import some_module
reload(some_module)
  1. 對於 Python 3.2 and 3.3:
import some_module
import importlib
importlib.reload(some_module)

  1. 對於 Python3.4+
import some_module
import imp
imp.reload(some_module)

參考:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章