|
Server : LiteSpeed System : Linux srv104790275 5.15.0-161-generic #171-Ubuntu SMP Sat Oct 11 08:17:01 UTC 2025 x86_64 User : dewac4139 ( 1077) PHP Version : 8.0.30 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /lib/python3/dist-packages/virtualenv/seed/wheels/embed/ |
Upload File : |
from __future__ import absolute_import, unicode_literals
from virtualenv.seed.wheels.util import Wheel
from virtualenv.util.path import Path
BUNDLE_FOLDER = Path('/usr/share/python-wheels')
BUNDLE_SUPPORT = {
"3.11": {
"pip": "pip-21.3.1-py3-none-any.whl",
"setuptools": "setuptools-60.2.0-py3-none-any.whl",
"wheel": "wheel-0.37.1-py2.py3-none-any.whl",
},
"3.10": {
"pip": "pip-21.3.1-py3-none-any.whl",
"setuptools": "setuptools-60.2.0-py3-none-any.whl",
"wheel": "wheel-0.37.1-py2.py3-none-any.whl",
},
"3.9": {
"pip": "pip-21.3.1-py3-none-any.whl",
"setuptools": "setuptools-60.2.0-py3-none-any.whl",
"wheel": "wheel-0.37.1-py2.py3-none-any.whl",
},
"3.8": {
"pip": "pip-21.3.1-py3-none-any.whl",
"setuptools": "setuptools-60.2.0-py3-none-any.whl",
"wheel": "wheel-0.37.1-py2.py3-none-any.whl",
},
"3.7": {
"pip": "pip-21.3.1-py3-none-any.whl",
"setuptools": "setuptools-60.2.0-py3-none-any.whl",
"wheel": "wheel-0.37.1-py2.py3-none-any.whl",
},
"3.6": {
"pip": "pip-21.3.1-py3-none-any.whl",
"setuptools": "setuptools-59.6.0-py3-none-any.whl",
"wheel": "wheel-0.37.1-py2.py3-none-any.whl",
},
"3.5": {
"pip": "pip-20.3.4-py2.py3-none-any.whl",
"setuptools": "setuptools-50.3.2-py3-none-any.whl",
"wheel": "wheel-0.37.1-py2.py3-none-any.whl",
},
"2.7": {
"pip": "pip-20.3.4-py2.py3-none-any.whl",
"setuptools": "setuptools-44.1.1-py2.py3-none-any.whl",
"wheel": "wheel-0.37.1-py2.py3-none-any.whl",
},
}
MAX = "3.11"
# Debian specific: Update BUNDLE_SUPPORT to match pip wheels shipped in
# /usr/share/python-wheels for base install + pkg_resources.
def list_available_wheels(versions):
import os
bundle = {version: {} for version in versions}
wheel_files = [Wheel.from_path(BUNDLE_FOLDER / fn)
for fn in os.listdir(BUNDLE_FOLDER)]
# Sort wheels so the latest compatible version wins
wheel_files.sort(key=lambda wheel: wheel.version_tuple)
for wheel in wheel_files:
if wheel.distribution in ['pip', 'setuptools', 'wheel']:
for version in versions:
if wheel.support_py(version):
bundle[version][wheel.distribution] = wheel.name
return bundle
BUNDLE_SUPPORT = list_available_wheels(BUNDLE_SUPPORT.keys())
# End Debian specific
def get_embed_wheel(distribution, for_py_version):
# Debian specific: Point at the appropriate wheel package
wheel = BUNDLE_SUPPORT.get(for_py_version, {}).get(distribution)
if wheel is None:
raise Exception((
"Wheel for {} for Python {} is unavailable. "
"apt install python{}-{}-whl"
).format(
distribution,
for_py_version,
'2' if for_py_version == '2.7' else '3',
distribution,
))
path = BUNDLE_FOLDER / (BUNDLE_SUPPORT.get(for_py_version, {}) or BUNDLE_SUPPORT[MAX]).get(distribution)
return Wheel.from_path(path)
__all__ = (
"get_embed_wheel",
"BUNDLE_SUPPORT",
"MAX",
"BUNDLE_FOLDER",
)