[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