def install_packages(python_packages, bucket): build_order = get_build_order(python_packages) for package_name in build_order: python_package = python_packages[package_name] aws.download_and_extract_zip( python_package["package_key"], os.path.join(WHEELHOUSE_PATH, package_name), bucket) if "requirements.txt" in python_packages: aws.download_file_from_s3( python_packages["requirements.txt"]["src_key"], "/requirements.txt", bucket) for package_name in build_order: cmd = package_name if package_name == "requirements.txt": cmd = "-r /requirements.txt" completed_process = run( "pip3 install --no-cache-dir --no-index --find-links={} {}".format( os.path.join(WHEELHOUSE_PATH, package_name), cmd).split()) if completed_process.returncode != 0: raise UserException("installing package", package_name) util.rm_file("/requirements.txt") util.rm_dir(WHEELHOUSE_PATH)
def zip_and_upload(self, local_path, key): util.zip_dir(local_path, "temp.zip") self.s3.upload_file("temp.zip", self.bucket, key) util.rm_file("temp.zip")
def compress_zip_and_upload(local_path, key, bucket, client_config={}): s3 = s3_client(client_config) util.zip_dir(local_path, "temp.zip") s3.upload_file("temp.zip", bucket, key) util.rm_file("temp.zip")