Изначально все мои модули были в одной упаковке.Недавно я создал подпакет в исходном пакете и переместил в него несколько модулей.Моя папка src и две папки с пакетами находятся в моей папке PYTHONPATH.
С тех пор, как я переместил эти модули, изменения, которые я вносил в их файлы .py, похоже, не попадают всгенерированные файлы * $ py.class, которые, как мне кажется, в конечном итоге и запускаются, исходя из того, что print __FILE__
выплевывает.
Файлы .class находятся в каталоге пакета верхнего уровня, который, я считаю,потому что первое место, из которого они импортируются, находится в модуле, который находится в этом пакете.Так что я думаю, что они находятся в правильном месте.
Перемещение модулей обратно в пакет верхнего уровня действительно устраняет проблему, но вряд ли нужно иметь все модули в одном пакете.Есть ли что-то, что я должен сделать, чтобы «зарегистрировать» модуль как часть пакета, кроме того, чтобы поместить его в папку с __init__.py
?
Примечание: остальная часть этого вопроса простосимптомы, которые заставили меня сделать вывод, что файлы .class не обновляются, когда я изменяю файлы .py.Вы, вероятно, можете пропустить это, если вы тип tl; dr человек: P
Я помещаю кучу пробелов в начале функции, и когда я прохожу через нее, курсор следуетгде код был.
Вот код, который мне показывает IDE:
![enter image description here](https://i.stack.imgur.com/gjgus.png)
и вот локальные переменные (обратите внимание, что self
имеетничто не ограничено):
![enter image description here](https://i.stack.imgur.com/iQt45.png)
После того, как я шагну пару строк, вот код (обратите внимание на положение курсора):
и локальные:
![enter image description here](https://i.stack.imgur.com/D3xt4.png)
Обратите внимание, что теперь self
имеет ограничения id
и updatePeriod
, поэтому первые две строки кода после пробела были явно выполнены.
Если яполностью удалите файл .py (прикрепите его на рабочий стол или что-то в этом роде), тогда, очевидно, среда IDE не сможет его найти, поэтому я не могу пройти по нему, но программа запускается в зависимости от того, какой код был (есть некоторыеочевидные изменения, о которых я могу сказать, не действуют).
Наконец, даты изменения соответствующих файлов * $ py.class aему около 4,5 часов, несмотря на все то, что я делал с последними файлами .py в течение последнего часа или 2.