Python-Konsole mit Python 3.4.2Wie lade ich ein Modul nach dem Ändern neu?
I definiert eine Funktion in einem Modul, das in PyCharm Community Edition 4.5.4 richtig in Python-Konsole läuft:
ReloadTest.py:
def reloadtest(x):
print("Version A: {}".format(x))
Python-Konsole:
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
Nachdem ich die Funktion „Version B“ geändert, PyCharm kann die Änderung nicht finden, und importlib.reload(ReloadTest)
gibt mir Fehler.
Ich muss die Python-Konsole neu laden oder PyCharm jedes Mal neu starten, wenn ich ein Modul modifiziere. Was habe ich falsch gemacht? Was ist der beste Weg, damit umzugehen?
ReloadTest.py:
def reloadtest(x):
print("Version B: {}".format(x))
Python Konsole:
>>> 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
Verwenden IPython und seine [Autonachlademode] (https://ipython.org/ipython-doc/3/config/extensions/autoreload.html) -Funktion. :) –