summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/astropy-helpers/python-imp.patch
blob: d12c2fb0e951c7e4e09b088d08375e6a2f57ec9d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
diff --git a/astropy_helpers/tests/test_git_helpers.py b/astropy_helpers/tests/test_git_helpers.py
index 6b826fc..3fb3a29 100644
--- a/astropy_helpers/tests/test_git_helpers.py
+++ b/astropy_helpers/tests/test_git_helpers.py
@@ -1,5 +1,5 @@
 import glob
-import imp
+import importlib as imp
 import os
 import pkgutil
 import re
diff --git a/astropy_helpers/utils.py b/astropy_helpers/utils.py
index 115c915..0cfc9e3 100644
--- a/astropy_helpers/utils.py
+++ b/astropy_helpers/utils.py
@@ -1,12 +1,12 @@
 # Licensed under a 3-clause BSD style license - see LICENSE.rst
 
 import contextlib
-import imp
 import os
 import sys
 import glob
 
 from importlib import machinery as import_machinery
+from importlib import util as importlib_util
 
 
 # Note: The following Warning subclasses are simply copies of the Warnings in
@@ -54,9 +54,9 @@ def get_numpy_include_path():
     import builtins
     if hasattr(builtins, '__NUMPY_SETUP__'):
         del builtins.__NUMPY_SETUP__
-    import imp
+    import importlib
     import numpy
-    imp.reload(numpy)
+    importlib.reload(numpy)
 
     try:
         numpy_include = numpy.get_include()
@@ -208,8 +208,6 @@ def import_file(filename, name=None):
     # generates an underscore-separated name which is more likely to
     # be unique, and it doesn't really matter because the name isn't
     # used directly here anyway.
-    mode = 'r'
-
     if name is None:
         basename = os.path.splitext(filename)[0]
         name = '_'.join(os.path.relpath(basename).split(os.sep)[1:])
@@ -221,8 +219,10 @@ def import_file(filename, name=None):
         loader = import_machinery.SourceFileLoader(name, filename)
         mod = loader.load_module()
     else:
-        with open(filename, mode) as fd:
-            mod = imp.load_module(name, fd, filename, ('.py', mode, 1))
+        importlib_util
+        spec = importlib_util.spec_from_file_location(name, filename)
+        mod = importlib_util.module_from_spec(spec)
+        spec.loader.exec_module(mod)
 
     return mod