diff --git a/docker/requirements.txt b/docker/requirements.txt index 4bf9cd048bb..39d8bfd70ea 100644 --- a/docker/requirements.txt +++ b/docker/requirements.txt @@ -1,16 +1,16 @@ attrs descartes fiona==1.10.1 -geopandas==1.1.2 +geopandas==1.1.3 ipykernel ipywidgets -jupyterlab==4.5.9 +jupyterlab==4.6.0 jupyterlab-widgets==3.0.16 keplergl==0.3.7 matplotlib -numpy==1.26.4 +numpy==2.2.6 pandas==2.3.3 py4j==0.10.9.9 -pydeck==0.9.1 -rasterio==1.4.4 +pydeck==0.9.2 +rasterio==1.5.0 shapely==2.1.2 diff --git a/docker/sedona-docker.dockerfile b/docker/sedona-docker.dockerfile index 4156fa36c3b..361ec7c2950 100644 --- a/docker/sedona-docker.dockerfile +++ b/docker/sedona-docker.dockerfile @@ -49,8 +49,13 @@ RUN chmod +x ${SEDONA_HOME}/docker/install-spark.sh RUN ${SEDONA_HOME}/docker/install-spark.sh ${spark_version} ${hadoop_s3_version} ${aws_sdk_version} # Install Python dependencies +# --ignore-installed is required because install-spark.sh installs GDAL +# (gdal-bin/libgdal-dev), which pulls in Debian's python3-numpy. Upgrading numpy +# then fails with "Cannot uninstall numpy ... RECORD file not found" because pip +# cannot remove a distro-managed package. --ignore-installed skips that uninstall +# and installs into /usr/local, which precedes dist-packages on sys.path. COPY docker/requirements.txt /opt/requirements.txt -RUN pip3 install --no-cache-dir -r /opt/requirements.txt --break-system-packages +RUN pip3 install --no-cache-dir -r /opt/requirements.txt --break-system-packages --ignore-installed # Copy local compiled jars and python code to the docker environment