tools/file_import: restore sys.modules. Closes #976

This commit is contained in:
Sebastien Bourdeauducq 2018-05-01 22:15:19 +08:00
parent 843f871fd1
commit 5f3e417bb5
1 changed files with 7 additions and 2 deletions

View File

@ -7,6 +7,7 @@ import os
import atexit
import string
import random
from copy import copy
import numpy as np
@ -85,8 +86,12 @@ def file_import(filename, prefix="file_import_"):
path = os.path.dirname(os.path.realpath(filename))
sys.path.insert(0, path)
try:
loader = importlib.machinery.SourceFileLoader(modname, filename)
module = loader.load_module()
previous_modules = copy(sys.modules)
try:
loader = importlib.machinery.SourceFileLoader(modname, filename)
module = loader.load_module()
finally:
sys.modules = previous_modules
finally:
sys.path.remove(path)