From 83f1700c634b2956dd4361914acba69435a61dfb Mon Sep 17 00:00:00 2001 From: Ryan Block Date: Mon, 28 Aug 2023 13:09:54 -0700 Subject: [PATCH] Optimistically import the importlib_metadata --- changelog.md | 8 +++++++ .../autoinstall/python/py/get_python_deps.py | 24 ++++++++++--------- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/changelog.md b/changelog.md index 5fa0e1e..5ca1148 100644 --- a/changelog.md +++ b/changelog.md @@ -2,6 +2,14 @@ --- +## [3.3.1] 2023-08-28 + +### Changed + +- Optimistically import `importlib_metadata` during Python treeshaking in case it's already installed in the system + +--- + ## [3.3.0] 2023-07-31 ### Added diff --git a/src/actions/autoinstall/python/py/get_python_deps.py b/src/actions/autoinstall/python/py/get_python_deps.py index c6bc53f..8240fbe 100644 --- a/src/actions/autoinstall/python/py/get_python_deps.py +++ b/src/actions/autoinstall/python/py/get_python_deps.py @@ -5,17 +5,19 @@ import pathlib import sys -dir_path = os.path.dirname(os.path.realpath(__file__)) -vendor_path = os.path.join(dir_path, "vendor") -sys.path.append(vendor_path) -if not os.path.exists(vendor_path): - import zipfile - - vendor_zip = os.path.join(dir_path, "vendor.zip") - with zipfile.ZipFile(vendor_zip, "r") as zipped: - zipped.extractall(dir_path) - -import importlib_metadata +try: + import importlib_metadata +except Exception: + dir_path = os.path.dirname(os.path.realpath(__file__)) + vendor_path = os.path.join(dir_path, "vendor") + sys.path.append(vendor_path) + if not os.path.exists(vendor_path): + import zipfile + + vendor_zip = os.path.join(dir_path, "vendor.zip") + with zipfile.ZipFile(vendor_zip, "r") as zipped: + zipped.extractall(dir_path) + import importlib_metadata # This script expects to be run like so: `get_python_deps.py $lambda_runtime $arc_src_dir` # The Lambda runtime (e.g. `python3.10`) is used to fetch the stdlib json file