def rename_module(project, old_module, new_module): try: tempdir = tempfile.mkdtemp() os.makedirs(os.path.join(tempdir, old_module)) open(os.path.join(tempdir, old_module, '__init__.py'), 'a').close() sys.path.append(tempdir) resource = project.find_module(old_module) changes = Rename(project, resource).get_changes(new_module) changes.do() finally: shutil.rmtree(tempdir, ignore_errors=True)