Change venv

This commit is contained in:
Ambulance Clerc
2023-05-31 08:31:22 +02:00
parent fb6f579089
commit fdbb52c96f
466 changed files with 25899 additions and 64721 deletions

View File

@@ -1,13 +1,14 @@
"""Wheels support."""
from distutils.util import get_platform
from distutils import log
import email
import itertools
import os
import posixpath
import re
import zipfile
import contextlib
from distutils.util import get_platform
import pkg_resources
import setuptools
@@ -15,6 +16,7 @@ from pkg_resources import parse_version
from setuptools.extern.packaging.tags import sys_tags
from setuptools.extern.packaging.utils import canonicalize_name
from setuptools.command.egg_info import write_requirements
from setuptools.archive_util import _unpack_zipfile_obj
WHEEL_NAME = re.compile(
@@ -49,6 +51,19 @@ def unpack(src_dir, dst_dir):
os.rmdir(dirpath)
@contextlib.contextmanager
def disable_info_traces():
"""
Temporarily disable info traces.
"""
from distutils import log
saved = log.set_threshold(log.WARN)
try:
yield
finally:
log.set_threshold(saved)
class Wheel:
def __init__(self, filename):
@@ -121,8 +136,7 @@ class Wheel:
raise ValueError(
'unsupported wheel format version: %s' % wheel_version)
# Extract to target directory.
os.mkdir(destination_eggdir)
zf.extractall(destination_eggdir)
_unpack_zipfile_obj(zf, destination_eggdir)
# Convert metadata.
dist_info = os.path.join(destination_eggdir, dist_info)
dist = pkg_resources.Distribution.from_location(
@@ -136,13 +150,13 @@ class Wheel:
def raw_req(req):
req.marker = None
return str(req)
install_requires = list(sorted(map(raw_req, dist.requires())))
install_requires = list(map(raw_req, dist.requires()))
extras_require = {
extra: sorted(
extra: [
req
for req in map(raw_req, dist.requires((extra,)))
if req not in install_requires
)
]
for extra in dist.extras
}
os.rename(dist_info, egg_info)
@@ -156,17 +170,12 @@ class Wheel:
extras_require=extras_require,
),
)
# Temporarily disable info traces.
log_threshold = log._global_log.threshold
log.set_threshold(log.WARN)
try:
with disable_info_traces():
write_requirements(
setup_dist.get_command_obj('egg_info'),
None,
os.path.join(egg_info, 'requires.txt'),
)
finally:
log.set_threshold(log_threshold)
@staticmethod
def _move_data_entries(destination_eggdir, dist_data):