Example #1
0
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)
Example #2
0
 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")
Example #3
0
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")