[解決済み】IPythonのサブモジュールの再読み込みについて
質問
現在、私はサブモジュールを含み、numpy/scipyを使用するpythonプロジェクトに取り組んでいます。Ipythonは対話型コンソールとして使用されています。残念ながら、私は今使用しているワークフローにあまり満足していません、私はいくつかのアドバイスを感謝します。
IPythonでは、フレームワークのロードは、単純な
import
コマンドを使用します。しかし、フレームワークのサブモジュールの1つのコードを変更する必要があることがよくあります。このとき、モデルはすでにロードされており、私はIPythonを使ってそれとやりとりしています。
現在、フレームワークには互いに依存し合う多くのモジュールが含まれています。つまり、フレームワークが最初にロードされたとき、メインモジュールはサブモジュールをインポートして構成しているのです。 を使用してモジュールがリロードされた場合のみ、コードの変更が実行されます。
reload(main_mod.sub_mod)
. これは、変更したすべてのモジュールをフルパスで個別に再読み込みする必要があるため、面倒なことです。もし
reload(main_module)
は、すべてのサブモジュールも再読み込みしますが、numpy/scipy を再読み込みする必要はありません。
解決方法は?
IPython には、いくつかの 自動リロード の魔法を使います。
%load_ext autoreload
%autoreload 2
新しい行を実行する前に、毎回変更されたすべてのモジュールを再読み込みします。この動作の仕方は
dreload
. いくつかの注意点があり、タイプ
%autoreload?
をクリックすると、何が間違っているのかがわかります。
この設定を常に有効にしたい場合は、IPythonの設定ファイルを変更します。
~/.ipython/profile_default/ipython_config.py
[1]と追記します。
c.InteractiveShellApp.extensions = ['autoreload']
c.InteractiveShellApp.exec_lines = ['%autoreload 2']
以下のコメント経由で@Kos氏にクレジットされました。
[1]
ファイルを持っていない場合
~/.ipython/profile_default/ipython_config.py
を呼び出す必要があります。
ipython profile create
を先に実行します。あるいは、そのファイルが
$IPYTHONDIR
.
関連
-
Pythonによるjieba分割ライブラリ
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
Pythonの@decoratorsについてまとめてみました。
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
[解決済み】numpyの配列連結。"ValueError:すべての入力配列は同じ次元数でなければならない"
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない
-
[解決済み] ipython のすべての警告を隠す
-
[解決済み] IPythonノートブックmatplotlibプロットをインラインで行う方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonの非常に便利な2つのデコレーターを解説
-
python call matlab メソッドの詳細
-
Python jiabaライブラリの使用方法について説明
-
Python LeNetネットワークの説明とpytorchでの実装
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み】DataFrameのコンストラクタが正しく呼び出されない!エラー
-
[解決済み】numpyの配列連結。"ValueError:すべての入力配列は同じ次元数でなければならない"
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)
-
[解決済み】IPythonのモジュールのオートリロード【重複あり