* Go for Broke * Let it fire * Add PipLine * Create the dir if it doesn't exist * Install Setuptools * Track Test Action's files * Fix Calling Job * Track Build Action files * Install Distutils, rename filenames * Fix Fail conditions * Make Build scripts smarter * Add file * Concat DLLs lists * Try to fail if Error DLLs * Try to make the fail smarter * Moar verbosity * Print the stuff first * Print outputs objects * See if this skips failure * Use py instead * Print error list * Don't ValueError * Try checking a different way * Try something else * Bleh, spell filename correctly * Update excluded_dlls.json * Ugh, gotta compare old to new somehow * Compare to old list * Condense build script * Moar verbosity * Update the global version * Update Excluded DLLs list * Actually use the bad DLLs list * Make a version number * Fix version number building * Fix version number building again * Fix Diagnostics * Try REST API stuff * Try REST API again * Moar REST * await * Get SHA * Try it all together * Del test workflow * Add Perms * Use a Token * Try this Token * Try different Token * Try different Token * Create App Version earlier * See this error again * Don't fail if App Version not made yet * Use New Secret * Print whole response * Documentation for Tagger * Update CI Instructions * Update CI * List References * Find latest tag Fix App Version getter * Fix commas * Check returned data * Update Build Script * Fix substring * Fix Git tag * Fix tag again * Visual indicators * Use encoding * Remove an indicator * Update CI * Update Project Name * PyInstaller Spec Template file * Update Build Script * Fix Tagger * Update CI * Download AppVersion during build * Test job can fail * Upload Logs instead of printing them * Change from Reusable Workflow to Action * Change ref to token * Compare to string * Use PAT * Use String literal * Remove Reusable Workflow * Update CI Scripts * Go for Broke * Let it fire * Add PipLine * Create the dir if it doesn't exist * Install Setuptools * Track Test Action's files * Fix Calling Job * Track Build Action files * Install Distutils, rename filenames * Fix Fail conditions * Make Build scripts smarter * Add file * Concat DLLs lists * Try to fail if Error DLLs * Try to make the fail smarter * Moar verbosity * Print the stuff first * Print outputs objects * See if this skips failure * Use py instead * Print error list * Don't ValueError * Try checking a different way * Try something else * Bleh, spell filename correctly * Update excluded_dlls.json * Ugh, gotta compare old to new somehow * Compare to old list * Condense build script * Moar verbosity * Update the global version * Update Excluded DLLs list * Actually use the bad DLLs list * Make a version number * Fix version number building * Fix version number building again * Fix Diagnostics * Try REST API stuff * Try REST API again * Moar REST * await * Get SHA * Try it all together * Del test workflow * Add Perms * Use a Token * Try this Token * Try different Token * Try different Token * Create App Version earlier * See this error again * Don't fail if App Version not made yet * Use New Secret * Print whole response * Documentation for Tagger * Update CI Instructions * Update CI * List References * Find latest tag Fix App Version getter * Fix commas * Check returned data * Update Build Script * Fix substring * Fix Git tag * Fix tag again * Visual indicators * Use encoding * Remove an indicator * Update CI * Update Project Name * PyInstaller Spec Template file * Update Build Script * Fix Tagger * Update CI * Download AppVersion during build * Test job can fail * Upload Logs instead of printing them * Change from Reusable Workflow to Action * Change ref to token * Compare to string * Use PAT * Use String literal * Remove Reusable Workflow * Update CI Scripts --------- Co-authored-by: Minnie A. Trethewey (Mike) <minnietrethewey@gmail.com>
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)
|