64 lines
1.7 KiB
Python
64 lines
1.7 KiB
Python
import common
|
|
import argparse
|
|
import os
|
|
import urllib.request, ssl
|
|
import subprocess # do stuff at the shell level
|
|
|
|
env = common.prepare_env()
|
|
|
|
def get_get_pip(PY_VERSION):
|
|
try:
|
|
import pip
|
|
except ImportError:
|
|
print("🟡Getting pip getter!")
|
|
#make the request!
|
|
url = "https://bootstrap.pypa.io/get-pip.py"
|
|
context = ssl._create_unverified_context()
|
|
req = urllib.request.urlopen(url, context=context)
|
|
got_pip = req.read().decode("utf-8")
|
|
|
|
with open("get-pip.py", "w") as g:
|
|
req = urllib.request.Request(
|
|
url,
|
|
data=None,
|
|
headers={
|
|
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"
|
|
}
|
|
)
|
|
req = urllib.request.urlopen(req, context=context)
|
|
data = req.read().decode("utf-8")
|
|
g.write(data)
|
|
|
|
# get executables
|
|
# python
|
|
# linux/windows: python
|
|
# macosx: python3
|
|
PYTHON_EXECUTABLE = "python3" if "osx" in env["OS_NAME"] else "python"
|
|
if PY_VERSION == None:
|
|
PY_VERSION = 0
|
|
|
|
if float(PY_VERSION) > 0:
|
|
PYTHON_EXECUTABLE = "py"
|
|
|
|
print("🟡Getting pip!")
|
|
args = [
|
|
env["PYTHON_EXE_PATH"] + PYTHON_EXECUTABLE,
|
|
'-' + str(PY_VERSION),
|
|
"get-pip.py"
|
|
]
|
|
if PY_VERSION == 0:
|
|
del args[1]
|
|
subprocess.check_call(args)
|
|
|
|
if __name__ == "__main__":
|
|
parser = argparse.ArgumentParser(add_help=False)
|
|
parser.add_argument('--py', default=0)
|
|
command_line_args = parser.parse_args()
|
|
PY_VERSION = vars(command_line_args)["py"]
|
|
|
|
try:
|
|
import pip
|
|
print("🟢pip is installed")
|
|
except ImportError:
|
|
get_get_pip(PY_VERSION)
|