Консоль Python с Python 3.4.2Как перезагрузить модуль после его изменения?
Я определил функцию в модуле, который работает правильно в консоли Python в PyCharm Community Edition 4.5.4:
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
После того как я изменил функцию «Version B», PyCharm не может найти замену, и importlib.reload(ReloadTest)
дает мне ошибку.
Я должен перезагрузить консоль Python или перезапустить PyCharm при каждом изменении модуля. Что я сделал не так? Каков наилучший способ справиться с этим?
ReloadTest.py:
def reloadtest(x):
print("Version B: {}".format(x))
Python Console:
>>> 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
Используйте IPython и его функции [автоперезагрузки] (https://ipython.org/ipython-doc/3/config/extensions/autoreload.html). :) –