mirror of https://github.com/pypa/pip
Choose metadata generator in prepare_metadata
This commit is contained in:
parent
528d27a2fe
commit
f137aef12e
|
@ -5,8 +5,6 @@ import atexit
|
|||
import logging
|
||||
import os
|
||||
|
||||
from pip._internal.operations.build.metadata_legacy import \
|
||||
generate_metadata as _generate_metadata_legacy
|
||||
from pip._internal.utils.subprocess import runner_with_spinner_message
|
||||
from pip._internal.utils.temp_dir import TempDirectory
|
||||
from pip._internal.utils.typing import MYPY_CHECK_RUNNING
|
||||
|
@ -19,17 +17,10 @@ logger = logging.getLogger(__name__)
|
|||
|
||||
def generate_metadata(install_req):
|
||||
# type: (InstallRequirement) -> str
|
||||
"""Generate metadata and return the metadata directory.
|
||||
"""Generate metadata using mechanisms described in PEP 517.
|
||||
|
||||
Returns the generated metadata directory.
|
||||
"""
|
||||
func = _generate_metadata
|
||||
if not install_req.use_pep517:
|
||||
func = _generate_metadata_legacy
|
||||
|
||||
return func(install_req)
|
||||
|
||||
|
||||
def _generate_metadata(install_req):
|
||||
# type: (InstallRequirement) -> str
|
||||
assert install_req.pep517_backend is not None
|
||||
build_env = install_req.build_env
|
||||
backend = install_req.pep517_backend
|
||||
|
|
|
@ -80,6 +80,10 @@ def _find_egg_info(source_directory, is_editable):
|
|||
|
||||
def generate_metadata(install_req):
|
||||
# type: (InstallRequirement) -> str
|
||||
"""Generate metadata using setup.py-based defacto mechanisms.ArithmeticError
|
||||
|
||||
Returns the generated metadata directory.
|
||||
"""
|
||||
assert install_req.unpacked_source_directory
|
||||
|
||||
req_details_str = install_req.name or "from {}".format(install_req.link)
|
||||
|
|
|
@ -25,6 +25,8 @@ from pip._internal.exceptions import InstallationError
|
|||
from pip._internal.locations import distutils_scheme
|
||||
from pip._internal.models.link import Link
|
||||
from pip._internal.operations.build.metadata import generate_metadata
|
||||
from pip._internal.operations.build.metadata_legacy import \
|
||||
generate_metadata as generate_metadata_legacy
|
||||
from pip._internal.pyproject import load_pyproject_toml, make_pyproject_path
|
||||
from pip._internal.req.req_uninstall import UninstallPathSet
|
||||
from pip._internal.utils.compat import native_str
|
||||
|
@ -615,8 +617,12 @@ class InstallRequirement(object):
|
|||
"""
|
||||
assert self.source_dir
|
||||
|
||||
metadata_generator = generate_metadata
|
||||
if not self.use_pep517:
|
||||
metadata_generator = generate_metadata_legacy
|
||||
|
||||
with indent_log():
|
||||
self.metadata_directory = generate_metadata(self)
|
||||
self.metadata_directory = metadata_generator(self)
|
||||
|
||||
# Act on the newly generated metadata, based on the name and version.
|
||||
if not self.name:
|
||||
|
|
Loading…
Reference in New Issue