From c67f0cd6bfa92a112adcac9dd2d8e34d3c73038c Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Sun, 4 Feb 2018 11:12:31 -0500 Subject: [PATCH] lazy load utils pip too Signed-off-by: Kenneth Reitz --- pipenv/utils.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pipenv/utils.py b/pipenv/utils.py index 1addfad4..94480279 100644 --- a/pipenv/utils.py +++ b/pipenv/utils.py @@ -9,7 +9,6 @@ import logging import click import crayons import delegator -import pip import parse import requirements import fuzzywuzzy.process @@ -271,6 +270,7 @@ packages = [ def get_requirement(dep): + import pip """Pre-clean requirement strings passed to the requirements parser. Ensures that we can accept both local and relative paths, file and VCS URIs, @@ -454,6 +454,7 @@ def prepare_pip_source_args(sources, pip_args=None): def actually_resolve_reps(deps, index_lookup, markers_lookup, project, sources, verbose, clear, pre): + import pip class PipCommand(pip.basecommand.Command): """Needed for pip-tools.""" @@ -864,6 +865,8 @@ def is_vcs(pipfile_entry): def is_installable_file(path): + import pip + """Determine if a path can potentially be installed""" if hasattr(path, 'keys') and any(key for key in path.keys() if key in ['file', 'path']): path = urlparse(path['file']).path if 'file' in path else path['path'] @@ -901,6 +904,7 @@ def is_file(package): def pep440_version(version): """Normalize version to PEP 440 standards""" + import pip # Use pip built-in version parser. return str(pip.index.parse_version(version))