diff --git a/Dockerfile b/Dockerfile index b92109ff806..52144a57f67 100644 --- a/Dockerfile +++ b/Dockerfile @@ -72,6 +72,7 @@ ARG GRASS_RUN_PACKAGES="build-essential \ ncurses-bin \ pdal \ proj-data \ + python-is-python3 \ python3 \ python3-dev \ python3-venv \ @@ -82,6 +83,7 @@ ARG GRASS_RUN_PACKAGES="build-essential \ zip \ zlib1g \ " +ENV GRASS_RUN_PACKAGES=${GRASS_RUN_PACKAGES} # Define build packages ARG GRASS_BUILD_PACKAGES="cmake \ @@ -101,6 +103,7 @@ ARG GRASS_BUILD_PACKAGES="cmake \ mesa-common-dev \ zlib1g-dev \ " +ENV GRASS_BUILD_PACKAGES=${GRASS_BUILD_PACKAGES} ARG GRASS_CONFIG="--with-cxx \ --enable-largefile \ @@ -126,7 +129,6 @@ ARG GRASS_CONFIG="--with-cxx \ ARG GRASS_PYTHON_PACKAGES="pip \ setuptools \ - grass-session \ python-dateutil \ python-magic \ numpy \ @@ -135,12 +137,13 @@ ARG GRASS_PYTHON_PACKAGES="pip \ matplotlib \ psycopg2 \ " +ENV GRASS_PYTHON_PACKAGES=${GRASS_PYTHON_PACKAGES} FROM common_start as grass_without_gui ARG GRASS_CONFIG="${GRASS_CONFIG} --without-opengl" - +ENV GRASS_CONFIG=${GRASS_CONFIG} FROM common_start as grass_with_gui @@ -244,12 +247,12 @@ RUN apt-get update \ RUN (echo "Install Python" \ && wget https://bootstrap.pypa.io/pip/get-pip.py \ # && apt-get install -y python3-ensurepip \ - && python3 get-pip.py \ + && python get-pip.py \ # && python3 -m ensurepip --upgrade \ && rm -r get-pip.py \ && mkdir -p /src/site-packages \ && cd /src \ - && python3 -m pip install --no-cache-dir -t /src/site-packages --upgrade \ + && python -m pip install --no-cache-dir -t /src/site-packages --upgrade \ $GRASS_PYTHON_PACKAGES \ && rm -r /root/.cache \ && rm -rf /tmp/pip-* \ @@ -265,13 +268,12 @@ WORKDIR /src/grass_build ENV MYCFLAGS "-O2 -std=gnu99 -m64" ENV MYLDFLAGS "-s" # CXX stuff: -#ENV LD_LIBRARY_PATH "/usr/local/lib" +ENV LD_LIBRARY_PATH "/usr/local/lib" ENV LDFLAGS "$MYLDFLAGS" ENV CFLAGS "$MYCFLAGS" ENV CXXFLAGS "$MYCXXFLAGS" # Configure compile and install GRASS GIS -ENV GRASS_PYTHON=/usr/bin/python3 ENV NUMTHREADS=4 RUN make distclean || echo "nothing to clean" RUN ./configure $GRASS_CONFIG \ @@ -301,18 +303,13 @@ FROM grass_gis as grass_gis_final # GRASS GIS specific # allow work with MAPSETs that are not owned by current user -# add GRASS GIS envs for python usage -ENV GRASSBIN="/usr/local/bin/grass" \ - GRASS_SKIP_MAPSET_OWNER_CHECK=1 \ +ENV GRASS_SKIP_MAPSET_OWNER_CHECK=1 \ SHELL="/bin/bash" \ # https://proj.org/usage/environmentvars.html#envvar-PROJ_NETWORK PROJ_NETWORK=ON \ - # GRASSBIN=grass \ LC_ALL="en_US.UTF-8" \ - GISBASE="/usr/local/grass/" \ - GRASSBIN="/usr/local/bin/grass" \ - PYTHONPATH="${PYTHONPATH}:/usr/local/grass/etc/python/" \ - LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/grass/lib" \ + PYTHONPATH="/usr/local/grass/etc/python/:${PYTHONPATH}" \ + LD_LIBRARY_PATH="/usr/local/grass/lib:$LD_LIBRARY_PATH" \ GDAL_DRIVER_PATH="/usr/lib/gdalplugins" # Copy GRASS GIS from build image @@ -323,11 +320,37 @@ COPY --link --from=build /usr/lib/gdalplugins /usr/lib/gdalplugins # COPY --link --from=datum_grids /tmp/cdn.proj.org/*.tif /usr/share/proj/ # Create generic GRASS GIS lib name regardless of version number -RUN ln -sf /usr/local/grass85 /usr/local/grass \ - && ldconfig /etc/ld.so.conf.d +RUN ln -sf /usr/local/grass85 /usr/local/grass + +# show GRASS GIS, PROJ, GDAL etc versions +RUN grass --tmp-project EPSG:4326 --exec g.version -rge && \ + pdal --version && \ + python --version + +# Reduce the image size +RUN apt-get autoremove -y +RUN apt-get clean -y +RUN rm -r /src/grass_build/.git -# Data workdir +WORKDIR /scripts + +# enable GRASS GIS Python session support +## grass --config python-path +ENV PYTHONPATH "/usr/local/grass/etc/python:${PYTHONPATH}" +# enable GRASS GIS ctypes imports +## grass --config path +ENV LD_LIBRARY_PATH "/usr/local/grass/lib:$LD_LIBRARY_PATH" + +WORKDIR /tmp +COPY docker/testdata/simple.laz . +WORKDIR /scripts +COPY docker/testdata/test_grass_session.py . +## run GRASS GIS python session and scan the test LAZ file +RUN python /scripts/test_grass_session.py +RUN rm -rf /tmp/grasstest_epsg_25832 +# test LAZ file +RUN grass --tmp-project EPSG:25832 --exec r.in.pdal input="/tmp/simple.laz" output="count_1" method="n" resolution=1 -g WORKDIR /grassdb VOLUME /grassdb -CMD ["bash", "-c", "$GRASSBIN", "--version"] +CMD ["$GRASSBIN", "--version"] diff --git a/docker/alpine/Dockerfile b/docker/alpine/Dockerfile index 47cb4b42dc1..ab704a78fb6 100644 --- a/docker/alpine/Dockerfile +++ b/docker/alpine/Dockerfile @@ -191,12 +191,10 @@ FROM common as grass # GRASS GIS specific # allow work with MAPSETs that are not owned by current user -ENV GRASSBIN="/usr/local/bin/grass" \ - GRASS_SKIP_MAPSET_OWNER_CHECK=1 \ +ENV GRASS_SKIP_MAPSET_OWNER_CHECK=1 \ SHELL="/bin/bash" \ # https://proj.org/usage/environmentvars.html#envvar-PROJ_NETWORK PROJ_NETWORK=ON \ - GRASSBIN=grass \ LC_ALL="en_US.UTF-8" \ PYTHONPATH="/usr/local/grass/etc/python:$PYTHONPATH" @@ -206,20 +204,20 @@ COPY --from=build /usr/local/grass* /usr/local/grass/ COPY --from=build /usr/lib/gdalplugins/*_GRASS.so /usr/lib/gdalplugins/ # run simple LAZ test COPY docker/testdata/simple.laz /tmp/ -COPY docker/testdata/test_grass_python.py docker/alpine/grass_tests.sh /scripts/ -COPY docker/testdata/test_grass_python.py /scripts/ +COPY docker/testdata/test_grass_python.py docker/testdata/test_grass_session.py docker/alpine/grass_tests.sh /scripts/ -# install external Python API +# run GRASS GIS python session and scan the test LAZ file; some cleanup +# also show installed version RUN ln -sf /usr/local/grass $(grass --config path); \ - # run some tests and cleanup - $SHELL /scripts/grass_tests.sh \ + rm -rf /tmp/grasstest_epsg_25832; \ + $SHELL /scripts/grass_tests.sh; \ + python /scripts/test_grass_session.py && rm -rf /tmp/grasstest_epsg_25832; \ + grass --tmp-project EPSG:25832 --exec r.in.pdal input="/tmp/simple.laz" output="count_1" method="n" resolution=1 -g \ && rm -f /scripts/grass_tests.sh /tmp/simple.laz /scripts/test_grass_python.py; \ - # delete unused packages apk del --no-cache gettext pdal-dev; \ - # show installed version grass --tmp-project XY --exec g.version -rge \ && pdal --version \ - && python3 --version + && python --version # Data workdir WORKDIR /grassdb diff --git a/docker/alpine/README.md b/docker/alpine/README.md index 00e6a1d1fbc..d306cfe0261 100644 --- a/docker/alpine/README.md +++ b/docker/alpine/README.md @@ -1,8 +1,7 @@ # Docker GRASS GIS (alpine linux) Dockerfile with an [Alpine Linux](https://www.alpinelinux.org/) image with -[GRASS GIS](https://grass.osgeo.org/), [PDAL](https://pdal.io) support and -[grass-session](https://github.com/zarch/grass-session/). +[GRASS GIS](https://grass.osgeo.org/), [PDAL](https://pdal.io) support. Download size of this image is only approximately 80 MB. diff --git a/docker/alpine/grass_tests.sh b/docker/alpine/grass_tests.sh index 9958b49366b..5388046816d 100755 --- a/docker/alpine/grass_tests.sh +++ b/docker/alpine/grass_tests.sh @@ -5,7 +5,7 @@ # add dependency apk add --no-cache py3-scikit-learn -# Test grass-session: +# Test grass-session /usr/bin/python3 /scripts/test_grass_session.py # Test PDAL grass --tmp-project EPSG:25832 --exec r.in.pdal input="/tmp/simple.laz" output="count_1" method="n" resolution=1 -g diff --git a/docker/debian/Dockerfile b/docker/debian/Dockerfile index 44ecab1fac6..48a0f93c541 100644 --- a/docker/debian/Dockerfile +++ b/docker/debian/Dockerfile @@ -59,6 +59,7 @@ RUN apt-get update && apt-get upgrade -y && \ netcdf-bin \ proj-bin \ proj-data \ + python-is-python3 \ python3 \ python3-dateutil \ python3-dev \ @@ -148,7 +149,6 @@ ENV CFLAGS "$MYCFLAGS" ENV CXXFLAGS "$MYCXXFLAGS" # Configure compile and install GRASS GIS -ENV GRASS_PYTHON=/usr/bin/python3 ENV NUMTHREADS=4 RUN make distclean || echo "nothing to clean" RUN /src/grass_build/configure \ @@ -197,7 +197,7 @@ RUN ln -sf /usr/local/grass85 /usr/local/grass # show GRASS GIS, PROJ, GDAL etc versions RUN grass --tmp-project EPSG:4326 --exec g.version -rge && \ pdal --version && \ - python3 --version + python --version # Reduce the image size RUN apt-get autoremove -y @@ -206,24 +206,23 @@ RUN rm -r /src/grass_build/.git WORKDIR /scripts -# install external GRASS GIS session Python API -RUN pip3 install grass-session --break-system-packages - -# add GRASS GIS envs for python usage -ENV GISBASE "/usr/local/grass/" -ENV GRASSBIN "/usr/local/bin/grass" -ENV PYTHONPATH "${PYTHONPATH}:$GISBASE/etc/python/" -ENV LD_LIBRARY_PATH "$LD_LIBRARY_PATH:$GISBASE/lib" +# enable GRASS GIS Python session support +## grass --config python-path +ENV PYTHONPATH "/usr/local/grass/etc/python:${PYTHONPATH}" +# enable GRASS GIS ctypes imports +## grass --config path +ENV LD_LIBRARY_PATH "/usr/local/grass/lib:$LD_LIBRARY_PATH" WORKDIR /tmp COPY docker/testdata/simple.laz . WORKDIR /scripts COPY docker/testdata/test_grass_session.py . -## just scan the LAZ file -# Not yet ready for GRASS GIS 8: -#RUN /usr/bin/python3 /scripts/test_grass_session.py +## run GRASS GIS python session and scan the test LAZ file +RUN python /scripts/test_grass_session.py +RUN rm -rf /tmp/grasstest_epsg_25832 # test LAZ file RUN grass --tmp-project EPSG:25832 --exec r.in.pdal input="/tmp/simple.laz" output="count_1" method="n" resolution=1 -g WORKDIR /grassdb VOLUME /grassdb +CMD ["$GRASSBIN", "--version"] diff --git a/docker/debian/README.md b/docker/debian/README.md index f5ced2cfac6..d8f7188e47e 100644 --- a/docker/debian/README.md +++ b/docker/debian/README.md @@ -1,8 +1,7 @@ # Docker GRASS GIS (Debian Linux) Dockerfile with an [Debian Linux](https://www.debian.org/) image with -[GRASS GIS](https://grass.osgeo.org/), [PDAL](https://pdal.io) support and -[grass-session](https://github.com/zarch/grass-session/). +[GRASS GIS](https://grass.osgeo.org/), [PDAL](https://pdal.io) support. Download size of this image is of approximately 2.6 GB. diff --git a/docker/testdata/test_grass_session.py b/docker/testdata/test_grass_session.py index 70cce197305..1574ba9121c 100644 --- a/docker/testdata/test_grass_session.py +++ b/docker/testdata/test_grass_session.py @@ -1,18 +1,16 @@ -# Import GRASS Python bindings -# https://github.com/zarch/grass-session -# pip install grass-session +# Import GRASS GIS Python bindings (requires 8.4+) and test r.in.pdal + +# PYTHONPATH=$(grass --config python-path) python -from grass_session import Session import grass.script as gs +# full path to new project +project = "/tmp/grasstest_epsg_25832" +gs.create_project(project, epsg="25832") + # hint: do not use ~ as an alias for HOME -with Session( - # run in PERMANENT mapset after creation of location "test" - gisdb="/grassdata/", - location="test", - create_opts="EPSG:25832", -): - print("grass-session: tests for PROJ, GDAL, PDAL, GRASS GIS") +with gs.setup.init(project): + print("GRASS GIS session: tests for PROJ, GDAL, PDAL, GRASS GIS") print(gs.parse_command("g.gisenv", flags="s")) # simple test: just scan the LAZ file diff --git a/docker/ubuntu/Dockerfile b/docker/ubuntu/Dockerfile index b92109ff806..52144a57f67 100644 --- a/docker/ubuntu/Dockerfile +++ b/docker/ubuntu/Dockerfile @@ -72,6 +72,7 @@ ARG GRASS_RUN_PACKAGES="build-essential \ ncurses-bin \ pdal \ proj-data \ + python-is-python3 \ python3 \ python3-dev \ python3-venv \ @@ -82,6 +83,7 @@ ARG GRASS_RUN_PACKAGES="build-essential \ zip \ zlib1g \ " +ENV GRASS_RUN_PACKAGES=${GRASS_RUN_PACKAGES} # Define build packages ARG GRASS_BUILD_PACKAGES="cmake \ @@ -101,6 +103,7 @@ ARG GRASS_BUILD_PACKAGES="cmake \ mesa-common-dev \ zlib1g-dev \ " +ENV GRASS_BUILD_PACKAGES=${GRASS_BUILD_PACKAGES} ARG GRASS_CONFIG="--with-cxx \ --enable-largefile \ @@ -126,7 +129,6 @@ ARG GRASS_CONFIG="--with-cxx \ ARG GRASS_PYTHON_PACKAGES="pip \ setuptools \ - grass-session \ python-dateutil \ python-magic \ numpy \ @@ -135,12 +137,13 @@ ARG GRASS_PYTHON_PACKAGES="pip \ matplotlib \ psycopg2 \ " +ENV GRASS_PYTHON_PACKAGES=${GRASS_PYTHON_PACKAGES} FROM common_start as grass_without_gui ARG GRASS_CONFIG="${GRASS_CONFIG} --without-opengl" - +ENV GRASS_CONFIG=${GRASS_CONFIG} FROM common_start as grass_with_gui @@ -244,12 +247,12 @@ RUN apt-get update \ RUN (echo "Install Python" \ && wget https://bootstrap.pypa.io/pip/get-pip.py \ # && apt-get install -y python3-ensurepip \ - && python3 get-pip.py \ + && python get-pip.py \ # && python3 -m ensurepip --upgrade \ && rm -r get-pip.py \ && mkdir -p /src/site-packages \ && cd /src \ - && python3 -m pip install --no-cache-dir -t /src/site-packages --upgrade \ + && python -m pip install --no-cache-dir -t /src/site-packages --upgrade \ $GRASS_PYTHON_PACKAGES \ && rm -r /root/.cache \ && rm -rf /tmp/pip-* \ @@ -265,13 +268,12 @@ WORKDIR /src/grass_build ENV MYCFLAGS "-O2 -std=gnu99 -m64" ENV MYLDFLAGS "-s" # CXX stuff: -#ENV LD_LIBRARY_PATH "/usr/local/lib" +ENV LD_LIBRARY_PATH "/usr/local/lib" ENV LDFLAGS "$MYLDFLAGS" ENV CFLAGS "$MYCFLAGS" ENV CXXFLAGS "$MYCXXFLAGS" # Configure compile and install GRASS GIS -ENV GRASS_PYTHON=/usr/bin/python3 ENV NUMTHREADS=4 RUN make distclean || echo "nothing to clean" RUN ./configure $GRASS_CONFIG \ @@ -301,18 +303,13 @@ FROM grass_gis as grass_gis_final # GRASS GIS specific # allow work with MAPSETs that are not owned by current user -# add GRASS GIS envs for python usage -ENV GRASSBIN="/usr/local/bin/grass" \ - GRASS_SKIP_MAPSET_OWNER_CHECK=1 \ +ENV GRASS_SKIP_MAPSET_OWNER_CHECK=1 \ SHELL="/bin/bash" \ # https://proj.org/usage/environmentvars.html#envvar-PROJ_NETWORK PROJ_NETWORK=ON \ - # GRASSBIN=grass \ LC_ALL="en_US.UTF-8" \ - GISBASE="/usr/local/grass/" \ - GRASSBIN="/usr/local/bin/grass" \ - PYTHONPATH="${PYTHONPATH}:/usr/local/grass/etc/python/" \ - LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/grass/lib" \ + PYTHONPATH="/usr/local/grass/etc/python/:${PYTHONPATH}" \ + LD_LIBRARY_PATH="/usr/local/grass/lib:$LD_LIBRARY_PATH" \ GDAL_DRIVER_PATH="/usr/lib/gdalplugins" # Copy GRASS GIS from build image @@ -323,11 +320,37 @@ COPY --link --from=build /usr/lib/gdalplugins /usr/lib/gdalplugins # COPY --link --from=datum_grids /tmp/cdn.proj.org/*.tif /usr/share/proj/ # Create generic GRASS GIS lib name regardless of version number -RUN ln -sf /usr/local/grass85 /usr/local/grass \ - && ldconfig /etc/ld.so.conf.d +RUN ln -sf /usr/local/grass85 /usr/local/grass + +# show GRASS GIS, PROJ, GDAL etc versions +RUN grass --tmp-project EPSG:4326 --exec g.version -rge && \ + pdal --version && \ + python --version + +# Reduce the image size +RUN apt-get autoremove -y +RUN apt-get clean -y +RUN rm -r /src/grass_build/.git -# Data workdir +WORKDIR /scripts + +# enable GRASS GIS Python session support +## grass --config python-path +ENV PYTHONPATH "/usr/local/grass/etc/python:${PYTHONPATH}" +# enable GRASS GIS ctypes imports +## grass --config path +ENV LD_LIBRARY_PATH "/usr/local/grass/lib:$LD_LIBRARY_PATH" + +WORKDIR /tmp +COPY docker/testdata/simple.laz . +WORKDIR /scripts +COPY docker/testdata/test_grass_session.py . +## run GRASS GIS python session and scan the test LAZ file +RUN python /scripts/test_grass_session.py +RUN rm -rf /tmp/grasstest_epsg_25832 +# test LAZ file +RUN grass --tmp-project EPSG:25832 --exec r.in.pdal input="/tmp/simple.laz" output="count_1" method="n" resolution=1 -g WORKDIR /grassdb VOLUME /grassdb -CMD ["bash", "-c", "$GRASSBIN", "--version"] +CMD ["$GRASSBIN", "--version"] diff --git a/docker/ubuntu/README.md b/docker/ubuntu/README.md index 1acb8e1098e..9a45651504c 100644 --- a/docker/ubuntu/README.md +++ b/docker/ubuntu/README.md @@ -1,8 +1,7 @@ # Docker GRASS GIS (Ubuntu Linux) Dockerfile with an [Ubuntu Linux](https://ubuntu.com/) image with -[GRASS GIS](https://grass.osgeo.org/), [PDAL](https://pdal.io) support and -[grass-session](https://github.com/zarch/grass-session/). +[GRASS GIS](https://grass.osgeo.org/), [PDAL](https://pdal.io) support. Download size of this image is of approximately 2.6 GB. diff --git a/docker/ubuntu_wxgui/Dockerfile b/docker/ubuntu_wxgui/Dockerfile index 8f8c3b7b8d9..e6f6a1ecc9b 100644 --- a/docker/ubuntu_wxgui/Dockerfile +++ b/docker/ubuntu_wxgui/Dockerfile @@ -81,6 +81,7 @@ RUN apt-get update && apt-get upgrade -y && \ netcdf-bin \ proj-bin \ proj-data \ + python-is-python3 \ python3 \ python3-dateutil \ python3-dev \ @@ -184,7 +185,6 @@ ENV CXXFLAGS "$MYCXXFLAGS" # wxGUI require # --with-x # --with-nls -ENV GRASS_PYTHON=/usr/bin/python3 ENV NUMTHREADS=4 RUN make distclean || echo "nothing to clean" RUN /src/grass_build/configure \ @@ -235,7 +235,7 @@ RUN ln -sf /usr/local/grass85 /usr/local/grass # show GRASS GIS, PROJ, GDAL etc versions RUN grass --tmp-project EPSG:4326 --exec g.version -rge && \ pdal --version && \ - python3 --version + python --version # Reduce the image size RUN apt-get autoremove -y @@ -244,24 +244,23 @@ RUN rm -r /src/grass_build/.git WORKDIR /scripts -# install external GRASS GIS session Python API -RUN pip3 install grass-session - -# add GRASS GIS envs for python usage -ENV GISBASE "/usr/local/grass/" -ENV GRASSBIN "/usr/local/bin/grass" -ENV PYTHONPATH "${PYTHONPATH}:$GISBASE/etc/python/" -ENV LD_LIBRARY_PATH "$LD_LIBRARY_PATH:$GISBASE/lib" +# enable GRASS GIS Python session support +## grass --config python-path +ENV PYTHONPATH "/usr/local/grass/etc/python:${PYTHONPATH}" +# enable GRASS GIS ctypes imports +## grass --config path +ENV LD_LIBRARY_PATH "/usr/local/grass/lib:$LD_LIBRARY_PATH" WORKDIR /tmp COPY docker/testdata/simple.laz . WORKDIR /scripts COPY docker/testdata/test_grass_session.py . -## just scan the LAZ file -# Not yet ready for GRASS GIS 8: -#RUN /usr/bin/python3 /scripts/test_grass_session.py +## run GRASS GIS python session and scan the test LAZ file +RUN python /scripts/test_grass_session.py +RUN rm -rf /tmp/grasstest_epsg_25832 # test LAZ file RUN grass --tmp-project EPSG:25832 --exec r.in.pdal input="/tmp/simple.laz" output="count_1" method="n" resolution=1 -g WORKDIR /grassdb VOLUME /grassdb +CMD ["$GRASSBIN", "--version"] diff --git a/docker/ubuntu_wxgui/README.md b/docker/ubuntu_wxgui/README.md index 73f9d2f8bed..8840afd81d3 100644 --- a/docker/ubuntu_wxgui/README.md +++ b/docker/ubuntu_wxgui/README.md @@ -1,8 +1,7 @@ # Docker GRASS GIS (Ubuntu Linux) Dockerfile with an [Ubuntu Linux](https://ubuntu.com/) image with -[GRASS GIS](https://grass.osgeo.org/), [PDAL](https://pdal.io) support and -[grass-session](https://github.com/zarch/grass-session/). +[GRASS GIS](https://grass.osgeo.org/), [PDAL](https://pdal.io) support. Download size of this image is of approximately 2.6 GB. diff --git a/singularity/debian/README_debian.md b/singularity/debian/README_debian.md index 2f1e287873d..e8293e6816d 100644 --- a/singularity/debian/README_debian.md +++ b/singularity/debian/README_debian.md @@ -1,8 +1,7 @@ # Singularity GRASS GIS (Debian Linux) Singularityfile with an [Debian Linux](https://www.debian.org/) image with -[GRASS GIS](https://grass.osgeo.org/), [PDAL](https://pdal.io) support and -[grass-session](https://github.com/zarch/grass-session/). +[GRASS GIS](https://grass.osgeo.org/), [PDAL](https://pdal.io) support. Download size of this image is of approximately 560 MB. diff --git a/singularity/debian/singularityfile_debian b/singularity/debian/singularityfile_debian index 9cd74e4e44b..267d7a74ad5 100644 --- a/singularity/debian/singularityfile_debian +++ b/singularity/debian/singularityfile_debian @@ -137,9 +137,6 @@ Singularity container for GRASS GIS to be run into GRASS main directory #grass -c EPSG:4326 --tmp-project --exec g.extension -s ext=v.clip #grass -c EPSG:4326 --tmp-project --exec g.extension -s ext=v.strds.stats - # Add Python GRASS session - pip3 install grass-session - %environment export LANG=C.UTF-8 export LC_ALL=C.UTF-8