Skip to content

Commit 6224065

Browse files
authored
Merge pull request #2297 from radarhere/master
Change load_module to exec_module
2 parents 7fbca8c + 3af54b4 commit 6224065

File tree

3 files changed

+11
-7
lines changed

3 files changed

+11
-7
lines changed

changelog.d/2297.misc.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Once again, in stubs prefer exec_module to the deprecated load_module.

setuptools/command/bdist_egg.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,12 @@ def write_stub(resource, pyfile):
5555
_stub_template = textwrap.dedent("""
5656
def __bootstrap__():
5757
global __bootstrap__, __loader__, __file__
58-
import sys, pkg_resources
59-
from importlib.machinery import ExtensionFileLoader
58+
import sys, pkg_resources, importlib.util
6059
__file__ = pkg_resources.resource_filename(__name__, %r)
6160
__loader__ = None; del __bootstrap__, __loader__
62-
ExtensionFileLoader(__name__,__file__).load_module()
61+
spec = importlib.util.spec_from_file_location(__name__,__file__)
62+
mod = importlib.util.module_from_spec(spec)
63+
spec.loader.exec_module(mod)
6364
__bootstrap__()
6465
""").lstrip()
6566
with open(pyfile, 'w') as f:

setuptools/command/build_ext.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -254,8 +254,8 @@ def write_stub(self, output_dir, ext, compile=False):
254254
'\n'.join([
255255
"def __bootstrap__():",
256256
" global __bootstrap__, __file__, __loader__",
257-
" import sys, os, pkg_resources" + if_dl(", dl"),
258-
" from importlib.machinery import ExtensionFileLoader",
257+
" import sys, os, pkg_resources, importlib.util" +
258+
if_dl(", dl"),
259259
" __file__ = pkg_resources.resource_filename"
260260
"(__name__,%r)"
261261
% os.path.basename(ext._file_name),
@@ -267,8 +267,10 @@ def write_stub(self, output_dir, ext, compile=False):
267267
" try:",
268268
" os.chdir(os.path.dirname(__file__))",
269269
if_dl(" sys.setdlopenflags(dl.RTLD_NOW)"),
270-
" ExtensionFileLoader(__name__,",
271-
" __file__).load_module()",
270+
" spec = importlib.util.spec_from_file_location(",
271+
" __name__, __file__)",
272+
" mod = importlib.util.module_from_spec(spec)",
273+
" spec.loader.exec_module(mod)",
272274
" finally:",
273275
if_dl(" sys.setdlopenflags(old_flags)"),
274276
" os.chdir(old_dir)",

0 commit comments

Comments
 (0)