mirror of
https://github.com/pypa/pip
synced 2023-12-13 21:30:23 +01:00
Merge branch 'master' into isort-5-config-updates
This commit is contained in:
commit
212ba79390
40 changed files with 150 additions and 202 deletions
|
@ -16,6 +16,42 @@ repos:
|
|||
- id: trailing-whitespace
|
||||
exclude: .patch
|
||||
|
||||
- repo: https://github.com/psf/black
|
||||
rev: 20.8b1
|
||||
hooks:
|
||||
- id: black
|
||||
exclude: |
|
||||
(?x)
|
||||
^docs/|
|
||||
^src/pip/_internal/cli|
|
||||
^src/pip/_internal/commands|
|
||||
^src/pip/_internal/distributions|
|
||||
^src/pip/_internal/index|
|
||||
^src/pip/_internal/models|
|
||||
^src/pip/_internal/network|
|
||||
^src/pip/_internal/operations|
|
||||
^src/pip/_internal/req|
|
||||
^src/pip/_internal/resolution|
|
||||
^src/pip/_internal/utils|
|
||||
^src/pip/_internal/vcs|
|
||||
^src/pip/_internal/\w+\.py$|
|
||||
^src/pip/__main__.py$|
|
||||
^tools/|
|
||||
# Tests
|
||||
^tests/conftest.py|
|
||||
^tests/yaml|
|
||||
^tests/lib|
|
||||
^tests/data|
|
||||
^tests/unit|
|
||||
^tests/functional/(?!test_install)|
|
||||
^tests/functional/test_install|
|
||||
# Files in the root of the repository
|
||||
^setup.py|
|
||||
^noxfile.py|
|
||||
# A blank ignore, to avoid merge conflicts later.
|
||||
^$
|
||||
|
||||
|
||||
- repo: https://gitlab.com/pycqa/flake8
|
||||
rev: 3.8.3
|
||||
hooks:
|
||||
|
|
|
@ -0,0 +1,57 @@
|
|||
======================
|
||||
Command Line Interface
|
||||
======================
|
||||
|
||||
The ``pip._internal.cli`` package is responsible for processing and providing
|
||||
pip's command line interface. This package handles:
|
||||
|
||||
* CLI option definition and parsing
|
||||
* autocompletion
|
||||
* dispatching to the various commands
|
||||
* utilities like progress bars and spinners
|
||||
|
||||
.. note::
|
||||
|
||||
This section of the documentation is currently being written. pip
|
||||
developers welcome your help to complete this documentation. If you're
|
||||
interested in helping out, please let us know in the
|
||||
`tracking issue <https://github.com/pypa/pip/issues/6831>`_.
|
||||
|
||||
|
||||
.. _cli-overview:
|
||||
|
||||
Overview
|
||||
========
|
||||
|
||||
A ``ConfigOptionParser`` instance is used as the "main parser",
|
||||
for parsing top level args.
|
||||
|
||||
``Command`` then uses another ``ConfigOptionParser`` instance, to parse command-specific args.
|
||||
|
||||
* TODO: How & where options are defined
|
||||
(cmdoptions, command-specific files).
|
||||
|
||||
* TODO: How & where arguments are processed.
|
||||
(main_parser, command-specific parser)
|
||||
|
||||
* TODO: How processed arguments are accessed.
|
||||
(attributes on argument to ``Command.run()``)
|
||||
|
||||
* TODO: How configuration and CLI "blend".
|
||||
(implemented in ``ConfigOptionParser``)
|
||||
|
||||
* TODO: progress bars and spinners
|
||||
|
||||
* TODO: quirks / standard practices / broad ideas.
|
||||
(avoiding lists in option def'n, special cased option value types,
|
||||
)
|
||||
|
||||
|
||||
Future Refactoring Ideas
|
||||
========================
|
||||
|
||||
* Change option definition to be a more declarative, consistent, static
|
||||
data-structure, replacing the current ``partial(Option, ...)`` form
|
||||
* Move progress bar and spinner to a ``cli.ui`` subpackage
|
||||
* Move all ``Command`` classes into a ``cli.commands`` subpackage
|
||||
(including base classes)
|
|
@ -26,6 +26,7 @@ Architecture of pip's internals
|
|||
anatomy
|
||||
configuration-files
|
||||
package-finding
|
||||
command-line-interface
|
||||
upgrade-options
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
[isort]
|
||||
profile = black
|
||||
skip =
|
||||
./build,
|
||||
.nox,
|
||||
|
@ -6,12 +7,11 @@ skip =
|
|||
.scratch,
|
||||
_vendor,
|
||||
data
|
||||
multi_line_output = 3
|
||||
known_third_party =
|
||||
pip._vendor
|
||||
include_trailing_comma = true
|
||||
|
||||
[flake8]
|
||||
max-line-length = 88
|
||||
exclude =
|
||||
./build,
|
||||
.nox,
|
||||
|
@ -24,6 +24,8 @@ ignore =
|
|||
G200, G202,
|
||||
# pycodestyle checks ignored in the default configuration
|
||||
E121, E123, E126, E133, E226, E241, E242, E704, W503, W504, W505,
|
||||
# black adds spaces around ':'
|
||||
E203,
|
||||
per-file-ignores =
|
||||
# G: The plugin logging-format treats every .log and .error as logging.
|
||||
noxfile.py: G
|
||||
|
|
|
@ -12,10 +12,7 @@ import traceback
|
|||
|
||||
from pip._internal.cli import cmdoptions
|
||||
from pip._internal.cli.command_context import CommandContextMixIn
|
||||
from pip._internal.cli.parser import (
|
||||
ConfigOptionParser,
|
||||
UpdatingDefaultsHelpFormatter,
|
||||
)
|
||||
from pip._internal.cli.parser import ConfigOptionParser, UpdatingDefaultsHelpFormatter
|
||||
from pip._internal.cli.status_codes import (
|
||||
ERROR,
|
||||
PREVIOUS_BUILD_DIR_ERROR,
|
||||
|
@ -35,10 +32,7 @@ from pip._internal.utils.deprecation import deprecated
|
|||
from pip._internal.utils.filesystem import check_path_owner
|
||||
from pip._internal.utils.logging import BrokenStdoutLoggingError, setup_logging
|
||||
from pip._internal.utils.misc import get_prog, normalize_path
|
||||
from pip._internal.utils.temp_dir import (
|
||||
global_tempdir_manager,
|
||||
tempdir_registry,
|
||||
)
|
||||
from pip._internal.utils.temp_dir import global_tempdir_manager, tempdir_registry
|
||||
from pip._internal.utils.typing import MYPY_CHECK_RUNNING
|
||||
from pip._internal.utils.virtualenv import running_under_virtualenv
|
||||
|
||||
|
@ -46,8 +40,9 @@ if MYPY_CHECK_RUNNING:
|
|||
from optparse import Values
|
||||
from typing import Any, List, Optional, Tuple
|
||||
|
||||
from pip._internal.utils.temp_dir import \
|
||||
TempDirectoryTypeRegistry as TempDirRegistry
|
||||
from pip._internal.utils.temp_dir import (
|
||||
TempDirectoryTypeRegistry as TempDirRegistry,
|
||||
)
|
||||
|
||||
__all__ = ['Command']
|
||||
|
||||
|
|
|
@ -5,10 +5,7 @@ import os
|
|||
import sys
|
||||
|
||||
from pip._internal.cli import cmdoptions
|
||||
from pip._internal.cli.parser import (
|
||||
ConfigOptionParser,
|
||||
UpdatingDefaultsHelpFormatter,
|
||||
)
|
||||
from pip._internal.cli.parser import ConfigOptionParser, UpdatingDefaultsHelpFormatter
|
||||
from pip._internal.commands import commands_dict, get_similar_commands
|
||||
from pip._internal.exceptions import CommandError
|
||||
from pip._internal.utils.misc import get_pip_version, get_prog
|
||||
|
|
|
@ -38,10 +38,7 @@ if MYPY_CHECK_RUNNING:
|
|||
from pip._internal.req.req_install import InstallRequirement
|
||||
from pip._internal.req.req_tracker import RequirementTracker
|
||||
from pip._internal.resolution.base import BaseResolver
|
||||
from pip._internal.utils.temp_dir import (
|
||||
TempDirectory,
|
||||
TempDirectoryTypeRegistry,
|
||||
)
|
||||
from pip._internal.utils.temp_dir import TempDirectory, TempDirectoryTypeRegistry
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
|
|
@ -4,11 +4,7 @@ import subprocess
|
|||
|
||||
from pip._internal.cli.base_command import Command
|
||||
from pip._internal.cli.status_codes import ERROR, SUCCESS
|
||||
from pip._internal.configuration import (
|
||||
Configuration,
|
||||
get_configuration_files,
|
||||
kinds,
|
||||
)
|
||||
from pip._internal.configuration import Configuration, get_configuration_files, kinds
|
||||
from pip._internal.exceptions import PipError
|
||||
from pip._internal.utils.logging import indent_log
|
||||
from pip._internal.utils.misc import get_prog, write_output
|
||||
|
|
|
@ -7,6 +7,7 @@ from collections import OrderedDict
|
|||
|
||||
from pip._vendor import pkg_resources
|
||||
from pip._vendor.packaging.version import parse as parse_version
|
||||
|
||||
# NOTE: XMLRPC Client is not annotated in typeshed as on 2017-07-17, which is
|
||||
# why we ignore the type on this import
|
||||
from pip._vendor.six.moves import xmlrpc_client # type: ignore
|
||||
|
|
|
@ -34,16 +34,7 @@ from pip._internal.utils.unpacking import SUPPORTED_EXTENSIONS
|
|||
from pip._internal.utils.urls import url_to_path
|
||||
|
||||
if MYPY_CHECK_RUNNING:
|
||||
from typing import (
|
||||
FrozenSet,
|
||||
Iterable,
|
||||
List,
|
||||
Optional,
|
||||
Set,
|
||||
Text,
|
||||
Tuple,
|
||||
Union,
|
||||
)
|
||||
from typing import FrozenSet, Iterable, List, Optional, Set, Text, Tuple, Union
|
||||
|
||||
from pip._vendor.packaging.tags import Tag
|
||||
from pip._vendor.packaging.version import _BaseVersion
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
import sys
|
||||
|
||||
from pip._internal.utils.compatibility_tags import (
|
||||
get_supported,
|
||||
version_info_to_nodot,
|
||||
)
|
||||
from pip._internal.utils.compatibility_tags import get_supported, version_info_to_nodot
|
||||
from pip._internal.utils.misc import normalize_version_info
|
||||
from pip._internal.utils.typing import MYPY_CHECK_RUNNING
|
||||
|
||||
|
|
|
@ -11,16 +11,8 @@ from pip._internal.cli.progress_bars import DownloadProgressProvider
|
|||
from pip._internal.exceptions import NetworkConnectionError
|
||||
from pip._internal.models.index import PyPI
|
||||
from pip._internal.network.cache import is_from_cache
|
||||
from pip._internal.network.utils import (
|
||||
HEADERS,
|
||||
raise_for_status,
|
||||
response_chunks,
|
||||
)
|
||||
from pip._internal.utils.misc import (
|
||||
format_size,
|
||||
redact_auth_from_url,
|
||||
splitext,
|
||||
)
|
||||
from pip._internal.network.utils import HEADERS, raise_for_status, response_chunks
|
||||
from pip._internal.utils.misc import format_size, redact_auth_from_url, splitext
|
||||
from pip._internal.utils.typing import MYPY_CHECK_RUNNING
|
||||
|
||||
if MYPY_CHECK_RUNNING:
|
||||
|
|
|
@ -10,11 +10,7 @@ from zipfile import BadZipfile, ZipFile
|
|||
from pip._vendor.requests.models import CONTENT_CHUNK_SIZE
|
||||
from pip._vendor.six.moves import range
|
||||
|
||||
from pip._internal.network.utils import (
|
||||
HEADERS,
|
||||
raise_for_status,
|
||||
response_chunks,
|
||||
)
|
||||
from pip._internal.network.utils import HEADERS, raise_for_status, response_chunks
|
||||
from pip._internal.utils.typing import MYPY_CHECK_RUNNING
|
||||
from pip._internal.utils.wheel import pkg_resources_distribution_for_wheel
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ from pip._vendor.urllib3.exceptions import InsecureRequestWarning
|
|||
from pip import __version__
|
||||
from pip._internal.network.auth import MultiDomainBasicAuth
|
||||
from pip._internal.network.cache import SafeFileCache
|
||||
|
||||
# Import ssl from compat so the initial import occurs in only one place.
|
||||
from pip._internal.utils.compat import has_tls, ipaddress
|
||||
from pip._internal.utils.glibc import libc_ver
|
||||
|
|
|
@ -2,9 +2,7 @@ import logging
|
|||
import os.path
|
||||
|
||||
from pip._internal.cli.spinners import open_spinner
|
||||
from pip._internal.utils.setuptools_build import (
|
||||
make_setuptools_bdist_wheel_args,
|
||||
)
|
||||
from pip._internal.utils.setuptools_build import make_setuptools_bdist_wheel_args
|
||||
from pip._internal.utils.subprocess import (
|
||||
LOG_DIVIDER,
|
||||
call_subprocess,
|
||||
|
|
|
@ -7,9 +7,7 @@ from collections import namedtuple
|
|||
from pip._vendor.packaging.utils import canonicalize_name
|
||||
from pip._vendor.pkg_resources import RequirementParseError
|
||||
|
||||
from pip._internal.distributions import (
|
||||
make_distribution_for_install_requirement,
|
||||
)
|
||||
from pip._internal.distributions import make_distribution_for_install_requirement
|
||||
from pip._internal.utils.misc import get_installed_distributions
|
||||
from pip._internal.utils.typing import MYPY_CHECK_RUNNING
|
||||
|
||||
|
|
|
@ -18,10 +18,7 @@ from pip._internal.utils.direct_url_helpers import (
|
|||
direct_url_as_pep440_direct_reference,
|
||||
dist_get_direct_url,
|
||||
)
|
||||
from pip._internal.utils.misc import (
|
||||
dist_is_editable,
|
||||
get_installed_distributions,
|
||||
)
|
||||
from pip._internal.utils.misc import dist_is_editable, get_installed_distributions
|
||||
from pip._internal.utils.typing import MYPY_CHECK_RUNNING
|
||||
|
||||
if MYPY_CHECK_RUNNING:
|
||||
|
|
|
@ -21,14 +21,7 @@ from zipfile import ZipFile
|
|||
from pip._vendor import pkg_resources
|
||||
from pip._vendor.distlib.scripts import ScriptMaker
|
||||
from pip._vendor.distlib.util import get_export_entry
|
||||
from pip._vendor.six import (
|
||||
PY2,
|
||||
ensure_str,
|
||||
ensure_text,
|
||||
itervalues,
|
||||
reraise,
|
||||
text_type,
|
||||
)
|
||||
from pip._vendor.six import PY2, ensure_str, ensure_text, itervalues, reraise, text_type
|
||||
from pip._vendor.six.moves import filterfalse, map
|
||||
|
||||
from pip._internal.exceptions import InstallationError
|
||||
|
@ -36,12 +29,7 @@ from pip._internal.locations import get_major_minor_version
|
|||
from pip._internal.models.direct_url import DIRECT_URL_METADATA_NAME, DirectUrl
|
||||
from pip._internal.models.scheme import SCHEME_KEYS
|
||||
from pip._internal.utils.filesystem import adjacent_tmp_file, replace
|
||||
from pip._internal.utils.misc import (
|
||||
captured_stdout,
|
||||
ensure_dir,
|
||||
hash_file,
|
||||
partition,
|
||||
)
|
||||
from pip._internal.utils.misc import captured_stdout, ensure_dir, hash_file, partition
|
||||
from pip._internal.utils.typing import MYPY_CHECK_RUNNING
|
||||
from pip._internal.utils.unpacking import (
|
||||
current_umask,
|
||||
|
@ -49,10 +37,7 @@ from pip._internal.utils.unpacking import (
|
|||
set_extracted_file_to_default_mode_plus_executable,
|
||||
zip_item_is_executable,
|
||||
)
|
||||
from pip._internal.utils.wheel import (
|
||||
parse_wheel,
|
||||
pkg_resources_distribution_for_wheel,
|
||||
)
|
||||
from pip._internal.utils.wheel import parse_wheel, pkg_resources_distribution_for_wheel
|
||||
|
||||
# Use the custom cast function at runtime to make cast work,
|
||||
# and import typing.cast when performing pre-commit and type
|
||||
|
|
|
@ -12,9 +12,7 @@ import shutil
|
|||
from pip._vendor.packaging.utils import canonicalize_name
|
||||
from pip._vendor.six import PY2
|
||||
|
||||
from pip._internal.distributions import (
|
||||
make_distribution_for_install_requirement,
|
||||
)
|
||||
from pip._internal.distributions import make_distribution_for_install_requirement
|
||||
from pip._internal.distributions.installed import InstalledDistribution
|
||||
from pip._internal.exceptions import (
|
||||
DirectoryUrlHashUnsupported,
|
||||
|
@ -34,12 +32,7 @@ from pip._internal.network.lazy_wheel import (
|
|||
from pip._internal.utils.filesystem import copy2_fixed
|
||||
from pip._internal.utils.hashes import MissingHashes
|
||||
from pip._internal.utils.logging import indent_log
|
||||
from pip._internal.utils.misc import (
|
||||
display_path,
|
||||
hide_url,
|
||||
path_to_display,
|
||||
rmtree,
|
||||
)
|
||||
from pip._internal.utils.misc import display_path, hide_url, path_to_display, rmtree
|
||||
from pip._internal.utils.temp_dir import TempDirectory
|
||||
from pip._internal.utils.typing import MYPY_CHECK_RUNNING
|
||||
from pip._internal.utils.unpacking import unpack_file
|
||||
|
|
|
@ -13,10 +13,7 @@ import sys
|
|||
from pip._vendor.six.moves.urllib import parse as urllib_parse
|
||||
|
||||
from pip._internal.cli import cmdoptions
|
||||
from pip._internal.exceptions import (
|
||||
InstallationError,
|
||||
RequirementsFileParseError,
|
||||
)
|
||||
from pip._internal.exceptions import InstallationError, RequirementsFileParseError
|
||||
from pip._internal.models.search_scope import SearchScope
|
||||
from pip._internal.network.utils import raise_for_status
|
||||
from pip._internal.utils.encoding import auto_decode
|
||||
|
|
|
@ -22,10 +22,12 @@ from pip._internal.exceptions import InstallationError
|
|||
from pip._internal.locations import get_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.operations.install.editable_legacy import \
|
||||
install_editable as install_editable_legacy
|
||||
from pip._internal.operations.build.metadata_legacy import (
|
||||
generate_metadata as generate_metadata_legacy,
|
||||
)
|
||||
from pip._internal.operations.install.editable_legacy import (
|
||||
install_editable as install_editable_legacy,
|
||||
)
|
||||
from pip._internal.operations.install.legacy import LegacyInstallFailure
|
||||
from pip._internal.operations.install.legacy import install as install_legacy
|
||||
from pip._internal.operations.install.wheel import install_wheel
|
||||
|
|
|
@ -34,10 +34,7 @@ from pip._internal.resolution.base import BaseResolver
|
|||
from pip._internal.utils.compatibility_tags import get_supported
|
||||
from pip._internal.utils.logging import indent_log
|
||||
from pip._internal.utils.misc import dist_in_usersite, normalize_version_info
|
||||
from pip._internal.utils.packaging import (
|
||||
check_requires_python,
|
||||
get_requires_python,
|
||||
)
|
||||
from pip._internal.utils.packaging import check_requires_python, get_requires_python
|
||||
from pip._internal.utils.typing import MYPY_CHECK_RUNNING
|
||||
|
||||
if MYPY_CHECK_RUNNING:
|
||||
|
|
|
@ -5,16 +5,7 @@ from pip._internal.utils.typing import MYPY_CHECK_RUNNING
|
|||
from .base import Constraint
|
||||
|
||||
if MYPY_CHECK_RUNNING:
|
||||
from typing import (
|
||||
Any,
|
||||
Dict,
|
||||
Iterable,
|
||||
Optional,
|
||||
Sequence,
|
||||
Set,
|
||||
Tuple,
|
||||
Union,
|
||||
)
|
||||
from typing import Any, Dict, Iterable, Optional, Sequence, Set, Tuple, Union
|
||||
|
||||
from .base import Candidate, Requirement
|
||||
from .factory import Factory
|
||||
|
|
|
@ -13,16 +13,8 @@ from pip._vendor.six import ensure_binary
|
|||
from pip._internal.index.collector import LinkCollector
|
||||
from pip._internal.index.package_finder import PackageFinder
|
||||
from pip._internal.models.selection_prefs import SelectionPreferences
|
||||
from pip._internal.utils.filesystem import (
|
||||
adjacent_tmp_file,
|
||||
check_path_owner,
|
||||
replace,
|
||||
)
|
||||
from pip._internal.utils.misc import (
|
||||
ensure_dir,
|
||||
get_distribution,
|
||||
get_installed_version,
|
||||
)
|
||||
from pip._internal.utils.filesystem import adjacent_tmp_file, check_path_owner, replace
|
||||
from pip._internal.utils.misc import ensure_dir, get_distribution, get_installed_version
|
||||
from pip._internal.utils.packaging import get_installer
|
||||
from pip._internal.utils.typing import MYPY_CHECK_RUNNING
|
||||
|
||||
|
|
|
@ -4,11 +4,7 @@ import hashlib
|
|||
|
||||
from pip._vendor.six import iteritems, iterkeys, itervalues
|
||||
|
||||
from pip._internal.exceptions import (
|
||||
HashMismatch,
|
||||
HashMissing,
|
||||
InstallationError,
|
||||
)
|
||||
from pip._internal.exceptions import HashMismatch, HashMissing, InstallationError
|
||||
from pip._internal.utils.misc import read_chunks
|
||||
from pip._internal.utils.typing import MYPY_CHECK_RUNNING
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@ from itertools import tee
|
|||
|
||||
from pip._vendor import pkg_resources
|
||||
from pip._vendor.packaging.utils import canonicalize_name
|
||||
|
||||
# NOTE: retrying is not annotated in typeshed as on 2017-07-17, which is
|
||||
# why we ignore the type on this import.
|
||||
from pip._vendor.retrying import retry # type: ignore
|
||||
|
@ -30,17 +31,8 @@ from pip._vendor.six.moves.urllib.parse import unquote as urllib_unquote
|
|||
|
||||
from pip import __version__
|
||||
from pip._internal.exceptions import CommandError
|
||||
from pip._internal.locations import (
|
||||
get_major_minor_version,
|
||||
site_packages,
|
||||
user_site,
|
||||
)
|
||||
from pip._internal.utils.compat import (
|
||||
WINDOWS,
|
||||
expanduser,
|
||||
stdlib_pkgs,
|
||||
str_to_display,
|
||||
)
|
||||
from pip._internal.locations import get_major_minor_version, site_packages, user_site
|
||||
from pip._internal.utils.compat import WINDOWS, expanduser, stdlib_pkgs, str_to_display
|
||||
from pip._internal.utils.typing import MYPY_CHECK_RUNNING, cast
|
||||
from pip._internal.utils.virtualenv import (
|
||||
running_under_virtualenv,
|
||||
|
|
|
@ -14,16 +14,7 @@ from pip._internal.utils.misc import HiddenText, path_to_display
|
|||
from pip._internal.utils.typing import MYPY_CHECK_RUNNING
|
||||
|
||||
if MYPY_CHECK_RUNNING:
|
||||
from typing import (
|
||||
Any,
|
||||
Callable,
|
||||
Iterable,
|
||||
List,
|
||||
Mapping,
|
||||
Optional,
|
||||
Text,
|
||||
Union,
|
||||
)
|
||||
from typing import Any, Callable, Iterable, List, Mapping, Optional, Text, Union
|
||||
|
||||
CommandArgs = List[Union[str, HiddenText]]
|
||||
|
||||
|
|
|
@ -12,11 +12,7 @@ import sys
|
|||
from pip._vendor import pkg_resources
|
||||
from pip._vendor.six.moves.urllib import parse as urllib_parse
|
||||
|
||||
from pip._internal.exceptions import (
|
||||
BadCommand,
|
||||
InstallationError,
|
||||
SubProcessError,
|
||||
)
|
||||
from pip._internal.exceptions import BadCommand, InstallationError, SubProcessError
|
||||
from pip._internal.utils.compat import console_to_str, samefile
|
||||
from pip._internal.utils.logging import subprocess_logger
|
||||
from pip._internal.utils.misc import (
|
||||
|
|
|
@ -7,10 +7,7 @@ import textwrap
|
|||
import pytest
|
||||
|
||||
from pip._internal.cli.status_codes import ERROR
|
||||
from pip._internal.configuration import (
|
||||
CONFIG_BASENAME,
|
||||
get_configuration_files,
|
||||
)
|
||||
from pip._internal.configuration import CONFIG_BASENAME, get_configuration_files
|
||||
from tests.lib.configuration_helpers import ConfigurationMixin, kinds
|
||||
|
||||
|
||||
|
|
|
@ -4,10 +4,7 @@ import hashlib
|
|||
import pytest
|
||||
|
||||
from pip._internal.utils.urls import path_to_url
|
||||
from tests.lib import (
|
||||
create_basic_sdist_for_package,
|
||||
create_basic_wheel_for_package,
|
||||
)
|
||||
from tests.lib import create_basic_sdist_for_package, create_basic_wheel_for_package
|
||||
|
||||
_FindLinks = collections.namedtuple(
|
||||
"_FindLinks", "index_html sdist_hash wheel_hash",
|
||||
|
|
|
@ -5,11 +5,7 @@ import pytest
|
|||
|
||||
from pip._internal.cli.status_codes import NO_MATCHES_FOUND, SUCCESS
|
||||
from pip._internal.commands import create_command
|
||||
from pip._internal.commands.search import (
|
||||
highest_version,
|
||||
print_results,
|
||||
transform_hits,
|
||||
)
|
||||
from pip._internal.commands.search import highest_version, print_results, transform_hits
|
||||
from tests.lib import pyversion
|
||||
|
||||
if pyversion >= '3':
|
||||
|
|
|
@ -13,11 +13,7 @@ import pytest
|
|||
|
||||
from pip._internal.req.constructors import install_req_from_line
|
||||
from pip._internal.utils.misc import rmtree
|
||||
from tests.lib import (
|
||||
assert_all_changes,
|
||||
create_test_package_with_setup,
|
||||
need_svn,
|
||||
)
|
||||
from tests.lib import assert_all_changes, create_test_package_with_setup, need_svn
|
||||
from tests.lib.local_repos import local_checkout, local_repo
|
||||
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ from pip._internal.cli.req_command import RequirementCommand
|
|||
from pip._internal.commands.install import InstallCommand
|
||||
from pip._internal.index.collector import LinkCollector
|
||||
from pip._internal.index.package_finder import PackageFinder
|
||||
|
||||
# from pip._internal.models.index import PyPI
|
||||
from pip._internal.models.search_scope import SearchScope
|
||||
from pip._internal.models.selection_prefs import SelectionPreferences
|
||||
|
|
|
@ -8,10 +8,7 @@ from pip._vendor.packaging.tags import Tag
|
|||
from pkg_resources import parse_version
|
||||
|
||||
import pip._internal.utils.compatibility_tags
|
||||
from pip._internal.exceptions import (
|
||||
BestVersionAlreadyInstalled,
|
||||
DistributionNotFound,
|
||||
)
|
||||
from pip._internal.exceptions import BestVersionAlreadyInstalled, DistributionNotFound
|
||||
from pip._internal.index.package_finder import (
|
||||
CandidateEvaluator,
|
||||
InstallationCandidate,
|
||||
|
|
|
@ -13,11 +13,7 @@ from pip._internal.network.session import PipSession
|
|||
from pip._internal.operations.prepare import _copy_source_tree, unpack_url
|
||||
from pip._internal.utils.hashes import Hashes
|
||||
from pip._internal.utils.urls import path_to_url
|
||||
from tests.lib.filesystem import (
|
||||
get_filelist,
|
||||
make_socket_file,
|
||||
make_unreadable_file,
|
||||
)
|
||||
from tests.lib.filesystem import get_filelist, make_socket_file, make_unreadable_file
|
||||
from tests.lib.path import Path
|
||||
from tests.lib.requests_mocks import MockResponse
|
||||
|
||||
|
|
|
@ -10,10 +10,7 @@ from pip._vendor.six import PY2
|
|||
from pretend import stub
|
||||
|
||||
import pip._internal.req.req_file # this will be monkeypatched
|
||||
from pip._internal.exceptions import (
|
||||
InstallationError,
|
||||
RequirementsFileParseError,
|
||||
)
|
||||
from pip._internal.exceptions import InstallationError, RequirementsFileParseError
|
||||
from pip._internal.models.format_control import FormatControl
|
||||
from pip._internal.network.session import PipSession
|
||||
from pip._internal.req.constructors import (
|
||||
|
|
|
@ -4,10 +4,7 @@ import mock
|
|||
import pytest
|
||||
from pip._vendor import pkg_resources
|
||||
|
||||
from pip._internal.exceptions import (
|
||||
NoneMetadataError,
|
||||
UnsupportedPythonVersion,
|
||||
)
|
||||
from pip._internal.exceptions import NoneMetadataError, UnsupportedPythonVersion
|
||||
from pip._internal.req.constructors import install_req_from_line
|
||||
from pip._internal.resolution.legacy.resolver import (
|
||||
Resolver,
|
||||
|
|
|
@ -16,11 +16,7 @@ from io import BytesIO
|
|||
import pytest
|
||||
from mock import Mock, patch
|
||||
|
||||
from pip._internal.exceptions import (
|
||||
HashMismatch,
|
||||
HashMissing,
|
||||
InstallationError,
|
||||
)
|
||||
from pip._internal.exceptions import HashMismatch, HashMissing, InstallationError
|
||||
from pip._internal.utils.deprecation import PipDeprecationWarning, deprecated
|
||||
from pip._internal.utils.encoding import BOMS, auto_decode
|
||||
from pip._internal.utils.glibc import (
|
||||
|
|
|
@ -10,11 +10,7 @@ import zipfile
|
|||
import pytest
|
||||
|
||||
from pip._internal.exceptions import InstallationError
|
||||
from pip._internal.utils.unpacking import (
|
||||
is_within_directory,
|
||||
untar_file,
|
||||
unzip_file,
|
||||
)
|
||||
from pip._internal.utils.unpacking import is_within_directory, untar_file, unzip_file
|
||||
|
||||
|
||||
class TestUnpackArchives(object):
|
||||
|
|
|
@ -19,9 +19,7 @@ from pip._internal.models.direct_url import (
|
|||
DirectUrl,
|
||||
)
|
||||
from pip._internal.models.scheme import Scheme
|
||||
from pip._internal.operations.build.wheel_legacy import (
|
||||
get_legacy_build_wheel_path,
|
||||
)
|
||||
from pip._internal.operations.build.wheel_legacy import get_legacy_build_wheel_path
|
||||
from pip._internal.operations.install import wheel
|
||||
from pip._internal.utils.compat import WINDOWS
|
||||
from pip._internal.utils.misc import hash_file
|
||||
|
|
Loading…
Reference in a new issue