Изменения источника модуля не вступают в силу - PullRequest
4 голосов
/ 29 сентября 2011

У меня проблема с питоном, которая выглядит для меня очень странно. Мой сценарий начинает быть довольно большим и должен запустить набор тестов для программы. Мое дерево включения:

run.py --> Module --> Section --> Test

У меня странное поведение, когда я добавляю модификацию в исходный файл моего модуля Module, Section или Test, они вообще не вступают в силу.

Я работаю с emacs в моем терминале и просто запускаю свой скрипт, используя:

python run.py

Я пытался:

  1. Перезапуск термина
  2. Перезагрузка компьютера (через несколько дней это все равно было неплохой идеей)
  3. Очистка * .pyc файлов

Версия моего питона 2.5.2, и я работаю под Debian Lenny в VirtualBox.

И я не смог воспроизвести это поведение в другой небольшой программе, чтобы лучше его наблюдать.

1 Ответ

3 голосов
/ 29 сентября 2011

Я подозреваю, что в вашей PYTHONPATH есть по крайней мере еще один модуль с таким же именем, как у вашего. Либо найдите старые копии, которые вы оставили, либо попробуйте изменить имена модулей и посмотрите, что произойдет.

Вы увидите аналогичный эффект, если забудете перезагрузить модули перед запуском их после изменения, но перезапуск сеанса Python, очевидно, приведет к тому, что все ваши модули будут загружены заново при первом импорте каждого из них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...