aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/build_python.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/build_python.sh')
-rwxr-xr-xscripts/build_python.sh22
1 files changed, 22 insertions, 0 deletions
diff --git a/scripts/build_python.sh b/scripts/build_python.sh
new file mode 100755
index 0000000..da937c2
--- /dev/null
+++ b/scripts/build_python.sh
@@ -0,0 +1,22 @@
+#!/usr/bin/env bash
+set -euxo pipefail
+shopt -s inherit_errexit
+
+py_version="${1}"
+
+# Install Python interpreter under e.g. /lang/python/3.11/ (no patch version).
+"${PYENV_ROOT}/plugins/python-build/bin/python-build" \
+ "${py_version}" \
+ "/lang/python/${py_version%.*}"
+"/lang/python/${py_version%.*}/bin/python" -m pip install -U pip
+
+# Clean up some unnecessary files to reduce image size bloat.
+find /lang/python/ -depth \
+\( \
+ \( -type d -a \( \
+ -name test -o -name tests -o -name idle_test \
+ \) \) \
+ -o \( -type f -a \( \
+ -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \
+ \) \) \
+\) -exec rm -rf '{}' +