diff --git a/ci/android-install-ndk.sh b/ci/android-install-ndk.sh
index 71dd5bbb25682aa10c340f28b4cf37fc7e83429b..c5594e1839df05ec0ed8ef502cc05e6aee1112be 100644
--- a/ci/android-install-ndk.sh
+++ b/ci/android-install-ndk.sh
@@ -33,7 +33,7 @@ case "$1" in
     ;;
 esac;
 
-${NDK}/build/tools/make_standalone_toolchain.py \
+python3 ${NDK}/build/tools/make_standalone_toolchain.py \
         --install-dir "/android/ndk-${1}" \
         --arch "${arch}" \
         --api ${api}
diff --git a/ci/docker/aarch64-linux-android/Dockerfile b/ci/docker/aarch64-linux-android/Dockerfile
index 33b8410038d8cb4df665ccc0d7adcbd228218004..776a2509c1a79e2441a511676b9d38bd64a9753a 100644
--- a/ci/docker/aarch64-linux-android/Dockerfile
+++ b/ci/docker/aarch64-linux-android/Dockerfile
@@ -6,7 +6,8 @@ RUN dpkg --add-architecture i386 && \
   file \
   curl \
   ca-certificates \
-  python \
+  python3 \
+  python3-distutils \
   unzip \
   expect \
   openjdk-8-jre \
diff --git a/ci/docker/arm-linux-androideabi/Dockerfile b/ci/docker/arm-linux-androideabi/Dockerfile
index 66d7b70336a32abe3a3dc779954b061234aecf7c..5678f4f1a6ea60a848b572fa8786818a90e43823 100644
--- a/ci/docker/arm-linux-androideabi/Dockerfile
+++ b/ci/docker/arm-linux-androideabi/Dockerfile
@@ -6,7 +6,8 @@ RUN dpkg --add-architecture i386 && \
   file \
   curl \
   ca-certificates \
-  python \
+  python3 \
+  python3-distutils \
   unzip \
   expect \
   openjdk-8-jre \
diff --git a/ci/docker/asmjs-unknown-emscripten/Dockerfile b/ci/docker/asmjs-unknown-emscripten/Dockerfile
index 8f5ff6188f622206ded2ca815aa411291c29b680..57419a368b3cbdc69c0cd6e8034d7a997fc407ea 100644
--- a/ci/docker/asmjs-unknown-emscripten/Dockerfile
+++ b/ci/docker/asmjs-unknown-emscripten/Dockerfile
@@ -8,7 +8,8 @@ RUN apt-get update && \
     git \
     libc6-dev \
     libxml2 \
-    python \
+    python3 \
+    python3-distutils \
     xz-utils
 
 COPY emscripten.sh /
diff --git a/ci/docker/i686-linux-android/Dockerfile b/ci/docker/i686-linux-android/Dockerfile
index 4eee094c57942d948ea215469ede15dfdd9fe8c9..9c050ef9553e4a9d5900cf2f22e09ff65835ed54 100644
--- a/ci/docker/i686-linux-android/Dockerfile
+++ b/ci/docker/i686-linux-android/Dockerfile
@@ -6,7 +6,8 @@ RUN dpkg --add-architecture i386 && \
   file \
   curl \
   ca-certificates \
-  python \
+  python3 \
+  python3-distutils \
   unzip \
   expect \
   openjdk-8-jre \
diff --git a/ci/docker/wasm32-unknown-emscripten/Dockerfile b/ci/docker/wasm32-unknown-emscripten/Dockerfile
index a8da10f9d4c2d4bb23334d323a7c488f7fb29880..52e0c3e5c4f344189fa18418ec4466c03f79a4b8 100644
--- a/ci/docker/wasm32-unknown-emscripten/Dockerfile
+++ b/ci/docker/wasm32-unknown-emscripten/Dockerfile
@@ -11,12 +11,15 @@ RUN apt-get update && \
     git \
     libc6-dev \
     libxml2 \
-    python \
+    python3 \
+    python3-distutils \
     cmake \
     sudo \
     gdb \
     xz-utils
 
+RUN ln -s /usr/bin/python3 /usr/bin/python & \
+    ln -s /usr/bin/pip3 /usr/bin/pip
 COPY emscripten.sh /
 RUN bash /emscripten.sh
 
diff --git a/ci/docker/x86_64-linux-android/Dockerfile b/ci/docker/x86_64-linux-android/Dockerfile
index b7dd19e19c0ab22d0fe8335464227e4ac8e3dad4..87263bce9fec353bedb986ddcc2ed4cfa2f76a7d 100644
--- a/ci/docker/x86_64-linux-android/Dockerfile
+++ b/ci/docker/x86_64-linux-android/Dockerfile
@@ -6,7 +6,8 @@ RUN apt-get update && \
   curl \
   gcc \
   libc-dev \
-  python \
+  python3 \
+  python3-distutils \
   unzip
 
 WORKDIR /android/