Hi there, We've been having some trouble with a script which invokes setuptools.setup(script_args=['test']) more than once in a single process. During each invocation, python imports different, new instances of the same module. We've narrowed it down to setuptools/command/test.py, in the method with_project_on_sys_path: It saves sys.modules like this: old_modules = sys.modules.copy() Then does its thing and restores sys.modules like this: sys.modules.clear() sys.modules.update(old_modules) But, as the code below illustrates, this results in multiple imports of the same modules: import sys def i(): old_modules = sys.modules.copy() from decimal import Decimal sys.modules.clear() sys.modules.update(old_modules) return Decimal assert i() is i(), 'Two different Decimal instances returned' # Fails Is this a bug? (We are on version 0.6c8 of setuptools, python 2.5) There is an easy solution: Save sys.modules like before: old_modules = sys.modules.copy() But restore it like this: sys.modules = old_modules That seems to fix our problem (not sure of other effects though). Regards - Iwan Vosloo