forked from M-Labs/artiq
1
0
Fork 0

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