xeon Mailinglist wrote: > No, I cannot get a simpler example. The simpler example works, and in my > code, it doesn't.
Then you have to add/remove complexity until you find the problematic statements. > I thought that it was something related to the variable > `region`, but I declare it as global. The "global" statement tells a function that a name in the module namespace should be used even though there is an assignment to that name inside the function. Example: _value = 0 def next_int(): global _value _value += 1 return _value It is unlikely that this feature will affect your problem. > So, I think that all the sets will > go to the same variable. You can add print statements to your getters/setters >>> from dogpile.cache import make_region >>> region = make_region() >>> region.configure("dogpile.cache.memory") <dogpile.cache.region.CacheRegion object at 0x7f61f60cafd0> >>> region.backend <dogpile.cache.backends.memory.MemoryBackend object at 0x7f61f5e3e110> to see if the object IDs are the same (I bet they aren't). Another shot in the dark: an unobvious source of running code twice is when you import (directly or indirectly) the main script: $ cat demo.py import demo print "demo" $ python demo.py demo demo -- https://mail.python.org/mailman/listinfo/python-list