diff options
Diffstat (limited to 'src/virtualenv/seed/embed/pip_invoke.py')
| -rw-r--r-- | src/virtualenv/seed/embed/pip_invoke.py | 22 |
1 files changed, 4 insertions, 18 deletions
diff --git a/src/virtualenv/seed/embed/pip_invoke.py b/src/virtualenv/seed/embed/pip_invoke.py index d65e89a..1ede693 100644 --- a/src/virtualenv/seed/embed/pip_invoke.py +++ b/src/virtualenv/seed/embed/pip_invoke.py @@ -1,9 +1,7 @@ from __future__ import absolute_import, unicode_literals -import os - from virtualenv.seed.embed.base_embed import BaseEmbed -from virtualenv.seed.embed.wheels.acquire import get_bundled_wheel +from virtualenv.seed.embed.wheels.acquire import get_bundled_wheel, pip_wheel_env_run from virtualenv.util.subprocess import Popen @@ -18,26 +16,14 @@ class PipInvoke(BaseEmbed): version = creator.interpreter.version_release_str cmd = [str(creator.exe), "-m", "pip", "install", "--only-binary", ":all:"] + for folder in {get_bundled_wheel(p, version).parent for p in ("pip", "setuptools")}: cmd.extend(["--find-links", str(folder)]) + cmd.extend(self.extra_search_dir) if not self.download: cmd.append("--no-index") for key, version in {"pip": self.pip_version, "setuptools": self.setuptools_version}.items(): cmd.append("{}{}".format(key, "=={}".format(version) if version is not None else "")) - env = os.environ.copy() - env.update( - { - str(k): str(v) # python 2 requires these to be string only (non-unicode) - for k, v in { - # put the bundled wheel onto the path, and use it to do the bootstrap operation - "PYTHONPATH": get_bundled_wheel("pip", version), - "PIP_USE_WHEEL": "1", - "PIP_USER": "0", - "PIP_NO_INPUT": "1", - }.items() - } - ) - - process = Popen(cmd, env=env) + process = Popen(cmd, env=pip_wheel_env_run(version)) process.communicate() |
