diff --git a/.github/workflows/DockerBuild.AzureFunctionsBaseImage.yaml b/.github/workflows/DockerBuild.AzureFunctionsBaseImage.yaml index 07befdd8d9..e065d96831 100644 --- a/.github/workflows/DockerBuild.AzureFunctionsBaseImage.yaml +++ b/.github/workflows/DockerBuild.AzureFunctionsBaseImage.yaml @@ -11,7 +11,7 @@ on: version: description: "Version of ArcGIS API for Python to install in the image" type: string - default: "2.3.1" + default: "2.4.1" python_version: description: "Python version to base image on" type: string diff --git a/.github/workflows/DockerBuild.LambdaBaseImage.yaml b/.github/workflows/DockerBuild.LambdaBaseImage.yaml index dea1e9fb0e..46605262b1 100644 --- a/.github/workflows/DockerBuild.LambdaBaseImage.yaml +++ b/.github/workflows/DockerBuild.LambdaBaseImage.yaml @@ -11,7 +11,7 @@ on: version: description: "Version of ArcGIS API for Python to install in the image" type: string - default: "2.3.1" + default: "2.4.1" python_version: description: "Python version to base image on" type: string diff --git a/.github/workflows/DockerBuild.NotebookImage.yaml b/.github/workflows/DockerBuild.NotebookImage.yaml index 6679d99aed..9327c427b0 100644 --- a/.github/workflows/DockerBuild.NotebookImage.yaml +++ b/.github/workflows/DockerBuild.NotebookImage.yaml @@ -11,7 +11,7 @@ on: version: description: "Version of ArcGIS API for Python to install in the image" type: string - default: "2.3.1" + default: "2.4.1" python_version: description: "Python version to base image on" type: string diff --git a/docker/AzureFunctionsBaseImage.Dockerfile b/docker/AzureFunctionsBaseImage.Dockerfile index 4c79330907..74f3bb490b 100644 --- a/docker/AzureFunctionsBaseImage.Dockerfile +++ b/docker/AzureFunctionsBaseImage.Dockerfile @@ -12,6 +12,6 @@ LABEL org.opencontainers.image.source=https://github.com/esri/arcgis-python-api RUN apt-get update && apt-get install -y gcc libkrb5-dev krb5-config krb5-user && apt-get clean && rm -rf /var/lib/apt/lists/* RUN pip3 install azure-functions && rm -rf /home/.cache/pip # install arcgis -ARG arcgis_version="2.3.1" +ARG arcgis_version="2.4.1" # adding .* ensures the latest patch version is installed RUN pip3 install "arcgis==${arcgis_version}.*" && rm -rf /home/.cache/pip diff --git a/docker/LambdaBaseImage.Dockerfile b/docker/LambdaBaseImage.Dockerfile index d45e050825..96e41189f8 100644 --- a/docker/LambdaBaseImage.Dockerfile +++ b/docker/LambdaBaseImage.Dockerfile @@ -11,7 +11,7 @@ LABEL org.opencontainers.image.source=https://github.com/esri/arcgis-python-api # install dependencies, then clean yum cache RUN yum -y install gcc gcc-c++ krb5-devel krb5-server krb5-libs && yum clean all && rm -rf /var/cache/yum # install arcgis -ARG arcgis_version="2.3.1" +ARG arcgis_version="2.4.1" # adding .* ensures the latest patch version is installed RUN pip3 install "arcgis==${arcgis_version}.*" --target "${LAMBDA_TASK_ROOT}" && rm -rf /root/.cache/pip # set entrypoint to app.py handler method diff --git a/docker/NotebookImage.Dockerfile b/docker/NotebookImage.Dockerfile index 11dc359e3e..d523b355d1 100644 --- a/docker/NotebookImage.Dockerfile +++ b/docker/NotebookImage.Dockerfile @@ -2,7 +2,8 @@ ARG python_version="3.11" FROM quay.io/jupyter/minimal-notebook:python-${python_version} ARG python_version -ARG arcgis_version="2.4.0" +ARG arcgis_version="2.4.1" +ARG gdal_version="3.10.2" ARG sampleslink="https://github.com/Esri/arcgis-python-api/releases/download/v${arcgis_version}/samples.zip" ARG githubfolder="arcgis-python-api" ARG env_name=arcgis @@ -14,14 +15,27 @@ LABEL org.opencontainers.image.source=https://github.com/Esri/arcgis-python-api USER ${NB_UID} -# Install Python API from Conda -RUN conda create -n ${env_name} -c esri -c defaults arcgis=${arcgis_version} python=${python_version} -y --quiet --override-channels \ +# Create conda environment with specified python version +RUN conda create -n ${env_name} -c conda-forge python=${python_version} -y --quiet --override-channels \ + && conda clean --all -f -y \ + && find /opt/conda -name __pycache__ -type d -exec rm -rf {} + + +# Install gdal +RUN conda install -n ${env_name} -c conda-forge gdal=${gdal_version} -y --quiet --override-channels \ + && conda clean --all -f -y \ + && find /opt/conda -name __pycache__ -type d -exec rm -rf {} + + +# Install ArcGIS API for Python from pypi +RUN . activate ${env_name} \ + # adding .* ensures the latest patch version is installed + && python -m pip install "arcgis==${arcgis_version}.*" \ && conda clean --all -f -y \ && find /opt/conda -name __pycache__ -type d -exec rm -rf {} + # Install arcgis-mapping if arcgis_version >= 2.4.0 RUN (dpkg --compare-versions $arcgis_version ge 2.4.0 \ - && conda install -n ${env_name} -c esri -c defaults arcgis-mapping -y --quiet --override-channels \ + && . activate ${env_name} \ + && python -m pip install arcgis-mapping \ && conda clean --all -f -y \ && find /opt/conda -name __pycache__ -type d -exec rm -rf {} +;) \ || echo "[INFO] Skipped installing arcgis-mapping for version $arcgis_version (>= 2.4.0 required for arcgis-mapping)"