Я имел большой успех с хорошей интеграцией между хранилищем SourceGear и FogBugz.
Сборка мс для автоматизации сборки удовлетворяет мои потребности.
Мне кажется, это работает:
Создайте файл (в вашем PYTHONPATH) с именем test.py
def foo():
print('bar')
Затем в оболочке python emacs (или лучше еще оболочка ipython), введите
>>> import test
>>> test.foo()
bar
Теперь измените test.py:[1223 impression
Хотя reload ()
действительно работает, он не меняет ссылки на классы, функции и другие объекты, поэтому старую версию легко увидеть. Наиболее последовательным решением является замена reload ()
либо exec
(что означает отказ от использования import
в первую очередь) или полный перезапуск интерпретатора.
Если вы все-таки хотите продолжать использовать reload, будьте очень осторожны с тем, как вы ссылаетесь на вещи из этого модуля, и всегда используйте полное имя. Например, импортируйте модуль
и используйте имя модуля
вместо из имени импорта модуля
. И даже если вы будете осторожны, вы все равно столкнетесь с проблемами со старыми объектами, что является одной из причин, по которой reload ()
отсутствует в 3.x.