Merge pull request #4262 from pypa/bugfix/4220

This commit is contained in:
Dan Ryan
2020-05-20 02:49:09 -04:00
committed by GitHub
8 changed files with 36 additions and 21 deletions
+1
View File
@@ -0,0 +1 @@
``pipenv install`` and ``pipenv sync`` will no longer attempt to install satisfied dependencies during installation.
+1
View File
@@ -0,0 +1 @@
Fixed a bug which caused pipenv to search non-existent virtual environments for ``pip`` when installing using ``--system``.
+1 -1
View File
@@ -1495,7 +1495,7 @@ def pip_install(
pip_args = get_pip_args(
pre=pre, verbose=environments.is_verbose(), upgrade=True,
selective_upgrade=selective_upgrade, no_use_pep517=not use_pep517,
no_deps=no_deps, require_hashes=not ignore_hashes
no_deps=no_deps, require_hashes=not ignore_hashes,
)
pip_command.extend(pip_args)
if r:
+2 -2
View File
@@ -12,8 +12,8 @@ import os
import re
import sys
import shellingham
import colorama
from pipenv.vendor import shellingham
from pipenv.vendor import colorama
PY3 = sys.version_info[0] >= 3
+22 -13
View File
@@ -25,7 +25,7 @@ from .environment import Environment
from .environments import (
PIPENV_DEFAULT_PYTHON_VERSION, PIPENV_IGNORE_VIRTUALENVS, PIPENV_MAX_DEPTH,
PIPENV_PIPFILE, PIPENV_PYTHON, PIPENV_TEST_INDEX, PIPENV_VENV_IN_PROJECT,
is_in_virtualenv, is_type_checking
PIPENV_USE_SYSTEM, is_in_virtualenv, is_type_checking
)
from .vendor.requirementslib.models.utils import get_default_pyproject_backend
from .utils import (
@@ -328,21 +328,30 @@ class Project(object):
"combined": dev_keys | default_keys
}
def get_environment(self, allow_global=False):
# type: (bool) -> Environment
if allow_global:
prefix = sys.prefix
else:
prefix = self.virtualenv_location
is_venv = is_in_virtualenv()
sources = self.sources if self.sources else [DEFAULT_SOURCE]
environment = Environment(
prefix=prefix, is_venv=is_venv, sources=sources, pipfile=self.parsed_pipfile,
project=self
)
pipenv_dist = get_pipenv_dist(pkg="pipenv")
if pipenv_dist:
environment.extend_dists(pipenv_dist)
else:
environment.add_dist("pipenv")
return environment
@property
def environment(self):
if not self._environment:
prefix = self.virtualenv_location
is_venv = is_in_virtualenv()
sources = self.sources if self.sources else [DEFAULT_SOURCE]
self._environment = Environment(
prefix=prefix, is_venv=is_venv, sources=sources, pipfile=self.parsed_pipfile,
project=self
)
pipenv_dist = get_pipenv_dist(pkg="pipenv")
if pipenv_dist:
self._environment.extend_dists(pipenv_dist)
else:
self._environment.add_dist("pipenv")
allow_global = os.environ.get("PIPENV_USE_SYSTEM", PIPENV_USE_SYSTEM)
self._environment = self.get_environment(allow_global=allow_global)
return self._environment
def get_outdated_packages(self):
+1 -1
View File
@@ -38,7 +38,7 @@ six==1.14.0
semver==2.9.0
toml==0.10.1
cached-property==1.5.1
vistir==0.5.1
vistir==0.5.2
pip-shims==0.5.2
contextlib2==0.6.0.post1
funcsigs==1.0.2
+5 -2
View File
@@ -207,11 +207,14 @@ class SubprocessStreamWrapper(object):
stdout_allowed=False, # type: bool
):
# type: (...) -> None
stdout_encoding = None
stderr_encoding = None
preferred_encoding = getpreferredencoding()
if subprocess is not None:
stdout_encoding = self.get_subprocess_encoding(subprocess, "stdout")
stderr_encoding = self.get_subprocess_encoding(subprocess, "stderr")
self.stdout_encoding = stdout_encoding or PREFERRED_ENCODING
self.stderr_encoding = stderr_encoding or PREFERRED_ENCODING
self.stdout_encoding = stdout_encoding or preferred_encoding
self.stderr_encoding = stderr_encoding or preferred_encoding
self.stdout_lines = []
self.text_stdout_lines = []
self.stderr_lines = []
@@ -8,8 +8,9 @@ index 455d3e90..de735daf 100644
-PY3 = sys.version_info[0] >= 3
-
+import shellingham
import colorama
-import colorama
+from pipenv.vendor import shellingham
+from pipenv.vendor import colorama
+PY3 = sys.version_info[0] >= 3
+