Почему ошибка автозагрузки при импорте классов? - PullRequest
0 голосов
/ 31 октября 2019

Когда я создаю простой класс:

class Two:
    def __init__(self):
        self.value=2

, а затем у меня есть другой файл для импорта этого класса:

from testclass import Two

x=1
y=Two().value

print("x=",x," and y=",y)

Затем, когда я изменяю что-либо в файле testclass, яполучить следующее сообщение об ошибке:

Перезагруженные модули: testclass x = 1 и y = 2 [сбой автозагрузки testclass: трассировка (последний вызов был последним): файл "C: \ ProgramData \ Anaconda3 \ lib \ site"-packages \ IPython \ extensions \ autoreload.py ", строка 245, в проверке суперзагрузки (m, reload, self.old_objects) Файл" C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ IPython \ extensions \ autoreload.py ", строка 450, в файле суперзагрузки update_generic (old_obj, new_obj) "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ IPython \ extensions \ autoreload.py", строка 387, в файле update_generic update (a, b) Файл "C": \ ProgramData \ Anaconda3 \ lib \ site-packages \ IPython \ extensions \ autoreload.py ", строка 357, в update_class update_instances (старый, новый) Файл" C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ IPython \ extensions\ autoreload.py ", строка 312, в update_instances update_inпозиции (старые, новые, obj. dict , посещенные) Файл "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ IPython \ extensions \ autoreload.py", строка 317, в update_instances update_instances (old), new, obj, посещенный) Файл "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ IPython \ extensions \ autoreload.py", строка 312, в update_instances update_instances (old, new, obj. dict , посещенный) Файл "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ IPython \ extensions \ autoreload.py", строка 312, в update_instances update_instances (старый, новый, объект. dict , посещенный) Файл "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ IPython \ extensions \ autoreload.py", строка 317, в update_instances update_instances (старый, новый, объект посещен) Файл "C: \ ProgramData \ Anaconda3 \ lib\ site-packages \ IPython \ extensions \ autoreload.py ", строка 312, в update_instances update_instances (старый, новый, obj. dict , посещенный) NotImplementedError: Оператор 'getitem' не поддерживается для этого выражения]

Когда я запускаю его во второй раз,без изменения чего-либо, я получаю x = 1 и y = 2

Так что я делаю что-то не так или почему автоперезагрузка выдает эту ошибку при изменении testclass?

...