mirror of
https://github.com/pypa/pip
synced 2023-12-13 21:30:23 +01:00
31 lines
1 KiB
Python
31 lines
1 KiB
Python
# The following comment should be removed at some point in the future.
|
|
# mypy: disallow-untyped-defs=False
|
|
|
|
import os
|
|
import shutil
|
|
import subprocess
|
|
import sys
|
|
from glob import glob
|
|
|
|
VIRTUAL_ENV = os.environ['VIRTUAL_ENV']
|
|
TOX_PIP_DIR = os.path.join(VIRTUAL_ENV, 'pip')
|
|
|
|
|
|
def pip(args):
|
|
# First things first, get a recent (stable) version of pip.
|
|
if not os.path.exists(TOX_PIP_DIR):
|
|
subprocess.check_call([sys.executable, '-m', 'pip',
|
|
'--disable-pip-version-check',
|
|
'install', '-t', TOX_PIP_DIR,
|
|
'pip'])
|
|
shutil.rmtree(glob(os.path.join(TOX_PIP_DIR, 'pip-*.dist-info'))[0])
|
|
# And use that version.
|
|
pypath = os.environ.get('PYTHONPATH')
|
|
pypath = pypath.split(os.pathsep) if pypath is not None else []
|
|
pypath.insert(0, TOX_PIP_DIR)
|
|
os.environ['PYTHONPATH'] = os.pathsep.join(pypath)
|
|
subprocess.check_call([sys.executable, '-m', 'pip'] + args)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
pip(sys.argv[1:])
|