Projects
openEuler:24.03:SP1:Everything
jython
_service:tar_scm:jython-use-rpm-wheels.patch
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:jython-use-rpm-wheels.patch of Package jython
diff --git a/Lib/ensurepip/__init__.py b/Lib/ensurepip/__init__.py index 40ac49d..0c7245d 100644 --- a/Lib/ensurepip/__init__.py +++ b/Lib/ensurepip/__init__.py @@ -1,9 +1,10 @@ #!/usr/bin/env python2 from __future__ import print_function +import distutils.version +import glob import os import os.path -import pkgutil import shutil import sys import tempfile @@ -11,10 +12,20 @@ import tempfile __all__ = ["version", "bootstrap"] +_WHEEL_DIR = "/usr/share/python-wheels/" -_SETUPTOOLS_VERSION = "28.8.0" -_PIP_VERSION = "9.0.1" +def _get_most_recent_wheel_version(pkg): + prefix = os.path.join(_WHEEL_DIR, "{}-".format(pkg)) + suffix = "-py2.py3-none-any.whl" + pattern = "{}*{}".format(prefix, suffix) + versions = (p[len(prefix):-len(suffix)] for p in glob.glob(pattern)) + return str(max(versions, key=distutils.version.LooseVersion)) + + +_SETUPTOOLS_VERSION = _get_most_recent_wheel_version("setuptools") + +_PIP_VERSION = _get_most_recent_wheel_version("pip") # pip currently requires ssl support, so we try to provide a nicer # error message when that is missing (http://bugs.python.org/issue19744) @@ -42,8 +53,13 @@ def _run_pip(args, additional_paths=None): sys.path = additional_paths + sys.path # Install the bundled software - import pip - pip.main(args) + try: + # pip 10 + from pip._internal import main + except ImportError: + # pip 9 + from pip import main + main(args) def version(): @@ -100,12 +116,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), - ) - with open(os.path.join(tmpdir, wheel_name), "wb") as fp: - fp.write(whl) + with open(os.path.join(_WHEEL_DIR, wheel_name), "rb") as sfp: + with open(os.path.join(tmpdir, wheel_name), "wb") as fp: + fp.write(sfp.read()) additional_paths.append(os.path.join(tmpdir, wheel_name))
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2