Python Console z Python 3.4.2Jak ponownie załadować moduł po zmianie?
zdefiniowałem funkcję w module który działa poprawnie w konsoli Pythona w pycharm Community Edition 4.5.4:
ReloadTest.py:
def reloadtest(x):
print("Version A: {}".format(x))
Pythona konsoli:
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
Po zmodyfikowano funkcję na „wersja B”, pycharm nie można znaleźć zmiany i importlib.reload(ReloadTest)
daje mi błąd.
Muszę przeładować konsolę Pythona lub zrestartować PyCharm za każdym razem, gdy modyfikuję moduł. Co zrobiłem źle? Jaki jest najlepszy sposób, aby sobie z tym poradzić?
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
Używaj ipython i funkcji jej [AutoReload] (https://ipython.org/ipython-doc/3/config/extensions/autoreload.html). :) –