Python 3.4.2 の Python コンソール
PyCharm Community Edition 4.5.4 の Python コンソールで正しく実行されるモジュールに関数を定義しました:
ReloadTest.py:
def reloadtest(x):
print("Version A: {}".format(x))
Python コンソール:
Python 3.4.2 (v3.4.2:ab2c023a9432, Oct 6 2014, 22:15:05) [MSC v.1600 32 bit (Intel)] on win32
>>> from ReloadTest import reloadtest
>>> reloadtest(1)
Version A: 1
関数を「バージョン B」に変更した後、PyCharm は変更を検出できず、importlib.reload(ReloadTest)
エラーが表示されます。
モジュールを変更するたびに、Python コンソールを再読み込みするか、PyCharm を再起動する必要があります。何が間違っているのでしょうか? これに対処する最善の方法は何ですか?
再ロードテスト.py:
def reloadtest(x):
print("Version B: {}".format(x))
Python コンソール:
>>> reloadtest(1)
Version A: 1
>>> from ReloadTest import reloadtest
>>> reloadtest(1)
Version A: 1
>>> import importlib
>>> importlib.reload(ReloadTest)
Traceback (most recent call last):
File "<input>", line 1, in <module>
NameError: name 'ReloadTest' is not defined
>>> from ReloadTest import reloadtest
>>> reloadtest(1)
Version A: 1
>>> import ReloadTest
>>> reloadtest(1)
Version A: 1
ベストアンサー1
のSettings
-> Build, Execution, Deployment
-> Console
->に次の行を追加することで、変更時にモジュールを自動的に再ロードするように Pycharm に指示できます。Python Console
Starting script
%load_ext autoreload
%autoreload 2
更新: この関数にpip install ipython
は、ここで説明されているように IPython () が必要です。IPython でサブモジュールを再ロードする