[Python-checkins] bpo-37449: Move ensurepip off of pkgutil and to importlib.resources (GH-15109)

Miss Islington (bot) webhook-mailer at python.org
Fri Sep 13 12:01:24 EDT 2019


https://github.com/python/cpython/commit/2ccb50cf773881255c5669942a093eb68ad042f6
commit: 2ccb50cf773881255c5669942a093eb68ad042f6
branch: master
author: Joannah Nanjekye <33177550+nanjekyejoannah at users.noreply.github.com>
committer: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
date: 2019-09-13T09:01:20-07:00
summary:

bpo-37449: Move ensurepip off of pkgutil and to importlib.resources (GH-15109)



Move ensurepip off of pkgutil and to importlib.resources.


https://bugs.python.org/issue37449

files:
A Lib/ensurepip/_bundled/__init__.py
A Misc/NEWS.d/next/Library/2019-08-04-17-22-33.bpo-37449.ycbL2z.rst
M Lib/ensurepip/__init__.py

diff --git a/Lib/ensurepip/__init__.py b/Lib/ensurepip/__init__.py
index fc0edec6e3de..386ed6c25c76 100644
--- a/Lib/ensurepip/__init__.py
+++ b/Lib/ensurepip/__init__.py
@@ -1,8 +1,11 @@
 import os
 import os.path
-import pkgutil
 import sys
 import tempfile
+from importlib import resources
+
+from . import _bundled
+
 
 
 __all__ = ["version", "bootstrap"]
@@ -96,9 +99,9 @@ def _bootstrap(*, root=None, upgrade=False, user=False,
         additional_paths = []
         for project, version in _PROJECTS:
             wheel_name = "{}-{}-py2.py3-none-any.whl".format(project, version)
-            whl = pkgutil.get_data(
-                "ensurepip",
-                "_bundled/{}".format(wheel_name),
+            whl = resources.read_binary(
+                _bundled,
+                wheel_name,
             )
             with open(os.path.join(tmpdir, wheel_name), "wb") as fp:
                 fp.write(whl)
diff --git a/Lib/ensurepip/_bundled/__init__.py b/Lib/ensurepip/_bundled/__init__.py
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/Misc/NEWS.d/next/Library/2019-08-04-17-22-33.bpo-37449.ycbL2z.rst b/Misc/NEWS.d/next/Library/2019-08-04-17-22-33.bpo-37449.ycbL2z.rst
new file mode 100644
index 000000000000..b34bfea9816f
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2019-08-04-17-22-33.bpo-37449.ycbL2z.rst
@@ -0,0 +1,2 @@
+`ensurepip` now uses `importlib.resources.read_binary()` to read data instead of `pkgutil.get_data()`.
+Patch by Joannah Nanjekye.
\ No newline at end of file



More information about the Python-checkins mailing list