conda-forge / qgis-feedstock

A conda-smithy repository for qgis.
BSD 3-Clause "New" or "Revised" License
41 stars 25 forks source link

Grass support #367

Closed joaoponceleao closed 11 months ago

joaoponceleao commented 1 year ago

Solution to issue cannot be found in the documentation.

Issue

At the moment QGIS is built without Grass. To the best of my knowledge, there is no maintained Grass repo on conda. Nevertheless, it has been implied on this repo that Grass algorithms in QGIS could perhaps be used by inputing the necessary Grass binary folder in the processing toolbox options (with Grass installed by a different means, such as direct binary download from the Grass website). Unfortunately, there is no such option in this conda version of QGIS. I imagine this is because, being built without a Grass option, this menu option never makes its way into the build. Is it possible to reverse this?

Installed packages

# packages in environment at /Users/joao/.conda-envs/qgis:
#
# Name                    Version                   Build  Channel
appnope                   0.1.3              pyhd8ed1ab_0    conda-forge
asttokens                 2.2.1              pyhd8ed1ab_0    conda-forge
aws-c-auth                0.7.0                hf4e22b4_2    conda-forge
aws-c-cal                 0.6.0                h43a37b4_0    conda-forge
aws-c-common              0.8.23               hb547adb_0    conda-forge
aws-c-compression         0.2.17               h31a6291_1    conda-forge
aws-c-event-stream        0.3.1                h1e1aaf7_1    conda-forge
aws-c-http                0.7.11               h3107daf_0    conda-forge
aws-c-io                  0.13.28              hf096fb3_0    conda-forge
aws-c-mqtt                0.8.14               h9418dbe_2    conda-forge
aws-c-s3                  0.3.13               h79b0d72_2    conda-forge
aws-c-sdkutils            0.1.11               h31a6291_1    conda-forge
aws-checksums             0.1.16               h31a6291_1    conda-forge
aws-crt-cpp               0.20.3               h0918d87_4    conda-forge
aws-sdk-cpp               1.10.57             h6f3a27c_17    conda-forge
backcall                  0.2.0              pyh9f0ad1d_0    conda-forge
backports                 1.0                pyhd8ed1ab_3    conda-forge
backports.functools_lru_cache 1.6.5              pyhd8ed1ab_0    conda-forge
blosc                     1.21.4               hc338f07_0    conda-forge
boost-cpp                 1.78.0               h9ed8d21_3    conda-forge
brotli                    1.0.9                h1a8c8d9_8    conda-forge
brotli-bin                1.0.9                h1a8c8d9_8    conda-forge
bzip2                     1.0.8                h3422bc3_4    conda-forge
c-ares                    1.19.1               hb547adb_0    conda-forge
ca-certificates           2023.7.22            hf0a4a13_0    conda-forge
cairo                     1.16.0            h1e71087_1016    conda-forge
ceres-solver              2.1.0                ha0d94fb_1    conda-forge
certifi                   2023.7.22          pyhd8ed1ab_0    conda-forge
cfitsio                   4.2.0                h2f961c4_0    conda-forge
charset-normalizer        3.1.0              pyhd8ed1ab_0    conda-forge
contourpy                 1.1.0           py311he4fd1f5_0    conda-forge
coverage                  7.2.7           py311heffc1b2_0    conda-forge
curl                      8.2.1                hc52a3a8_0    conda-forge
cycler                    0.11.0             pyhd8ed1ab_0    conda-forge
dataclasses               0.8                pyhc8e2a94_3    conda-forge
decorator                 5.1.1              pyhd8ed1ab_0    conda-forge
draco                     1.5.6                hffc8910_0    conda-forge
eigen                     3.4.0                hc021e02_0    conda-forge
executing                 1.2.0              pyhd8ed1ab_0    conda-forge
exiv2                     0.27.6               h98a1b47_1    conda-forge
expat                     2.5.0                hb7217d7_1    conda-forge
font-ttf-dejavu-sans-mono 2.37                 hab24e00_0    conda-forge
font-ttf-inconsolata      3.000                h77eed37_0    conda-forge
font-ttf-source-code-pro  2.038                h77eed37_0    conda-forge
font-ttf-ubuntu           0.83                 hab24e00_0    conda-forge
fontconfig                2.14.2               h82840c6_0    conda-forge
fonts-conda-ecosystem     1                             0    conda-forge
fonts-conda-forge         1                             0    conda-forge
fonttools                 4.41.0          py311heffc1b2_0    conda-forge
freetype                  2.12.1               hd633e50_1    conda-forge
freexl                    1.0.6                h1a8c8d9_1    conda-forge
future                    0.18.3             pyhd8ed1ab_0    conda-forge
gdal                      3.7.1           py311h509623a_1    conda-forge
geos                      3.12.0               h13dd4ca_0    conda-forge
geotiff                   1.7.1                h00e2a8a_9    conda-forge
gettext                   0.21.1               h0186832_0    conda-forge
gflags                    2.2.2             hc88da5d_1004    conda-forge
giflib                    5.2.1                h1a8c8d9_3    conda-forge
glib                      2.76.4               ha614eb4_0    conda-forge
glib-tools                2.76.4               ha614eb4_0    conda-forge
glog                      0.6.0                h6da1cb0_0    conda-forge
gmp                       6.2.1                h9f76cd9_0    conda-forge
gsl                       2.7                  h6e638da_0    conda-forge
gst-plugins-base          1.22.5               h27255cc_0    conda-forge
gstreamer                 1.22.5               h8c52bba_0    conda-forge
hdf4                      4.2.15               h8111dcc_6    conda-forge
hdf5                      1.14.1          nompi_h3aba7b3_100    conda-forge
httplib2                  0.22.0             pyhd8ed1ab_0    conda-forge
icu                       72.1                 he12128b_0    conda-forge
idna                      3.4                pyhd8ed1ab_0    conda-forge
ipdb                      0.13.13            pyhd8ed1ab_0    conda-forge
ipython                   8.14.0             pyhd1c38e8_0    conda-forge
jedi                      0.18.2             pyhd8ed1ab_0    conda-forge
jinja2                    3.1.2              pyhd8ed1ab_1    conda-forge
joblib                    1.3.1                    pypi_0    pypi
json-c                    0.16                 hc449e50_0    conda-forge
kealib                    1.5.1                h34092a9_4    conda-forge
khronos-opencl-icd-loader 2023.04.17           h1a8c8d9_0    conda-forge
kiwisolver                1.4.4           py311hd6ee22a_1    conda-forge
krb5                      1.21.2               h92f50d5_0    conda-forge
laz-perf                  3.3.0                hffc8910_0    conda-forge
lcms2                     2.15                 hd835a16_1    conda-forge
lerc                      4.0.0                h9a09cb3_0    conda-forge
libabseil                 20230125.3      cxx17_h13dd4ca_0    conda-forge
libaec                    1.0.6                hb7217d7_1    conda-forge
libarchive                3.6.2                h82b9b87_1    conda-forge
libblas                   3.9.0           17_osxarm64_openblas    conda-forge
libbrotlicommon           1.0.9                h1a8c8d9_8    conda-forge
libbrotlidec              1.0.9                h1a8c8d9_8    conda-forge
libbrotlienc              1.0.9                h1a8c8d9_8    conda-forge
libcblas                  3.9.0           17_osxarm64_openblas    conda-forge
libclang                  15.0.7          default_h5dc8d65_2    conda-forge
libclang13                15.0.7          default_hc7183e1_2    conda-forge
libcrc32c                 1.1.2                hbdafb3b_0    conda-forge
libcurl                   8.2.1                hc52a3a8_0    conda-forge
libcxx                    16.0.5               h4653b0c_0    conda-forge
libdeflate                1.18                 h1a8c8d9_0    conda-forge
libedit                   3.1.20191231         hc8eb9b7_2    conda-forge
libev                     4.33                 h642e427_1    conda-forge
libexpat                  2.5.0                hb7217d7_1    conda-forge
libffi                    3.4.2                h3422bc3_5    conda-forge
libgdal                   3.7.1                hd845ade_1    conda-forge
libgfortran               5.0.0           12_2_0_hd922786_31    conda-forge
libgfortran5              12.2.0              h0eea778_31    conda-forge
libglib                   2.76.4               h24e9cb9_0    conda-forge
libgoogle-cloud           2.12.0               h05652e3_1    conda-forge
libgrpc                   1.56.2               h9075ed4_0    conda-forge
libiconv                  1.17                 he4db4b2_0    conda-forge
libjpeg-turbo             2.1.5.1              h1a8c8d9_0    conda-forge
libkml                    1.3.0             h41464e4_1015    conda-forge
liblapack                 3.9.0           17_osxarm64_openblas    conda-forge
libllvm15                 15.0.7               h504e6bf_2    conda-forge
libnetcdf                 4.9.2           nompi_h9fa6108_109    conda-forge
libnghttp2                1.52.0               hae82a92_0    conda-forge
libogg                    1.3.4                h27ca646_1    conda-forge
libopenblas               0.3.23          openmp_hc731615_0    conda-forge
libopus                   1.3.1                h27ca646_1    conda-forge
libpng                    1.6.39               h76d750c_0    conda-forge
libpq                     15.4                 hcea71ed_0    conda-forge
libprotobuf               4.23.3               hf32f9b9_0    conda-forge
librttopo                 1.1.0               h667cd51_14    conda-forge
libspatialindex           1.9.3                hbdafb3b_4    conda-forge
libspatialite             5.0.1               h6193c13_28    conda-forge
libsqlite                 3.42.0               hb31c410_0    conda-forge
libssh2                   1.11.0               h7a5bd25_0    conda-forge
libtasn1                  4.19.0               h1a8c8d9_0    conda-forge
libtiff                   4.5.1                h23a1a89_0    conda-forge
libvorbis                 1.3.7                h9f76cd9_0    conda-forge
libwebp                   1.3.1                h3dd3bb6_0    conda-forge
libwebp-base              1.3.1                hb547adb_0    conda-forge
libxcb                    1.15                 hf346824_0    conda-forge
libxml2                   2.11.5               he3bdae6_0    conda-forge
libxslt                   1.1.37               h1728932_1    conda-forge
libzip                    1.9.2                h76ab92c_1    conda-forge
libzlib                   1.2.13               h53f4e23_5    conda-forge
llvm-openmp               16.0.5               h1c12783_0    conda-forge
lxml                      4.9.3           py311hbafe683_0    conda-forge
lz4-c                     1.9.4                hb7217d7_0    conda-forge
lzo                       2.10              h642e427_1000    conda-forge
markupsafe                2.1.3           py311heffc1b2_0    conda-forge
matplotlib                3.7.2           py311ha1ab1f8_0    conda-forge
matplotlib-base           3.7.2           py311h3bc9839_0    conda-forge
matplotlib-inline         0.1.6              pyhd8ed1ab_0    conda-forge
metis                     5.1.0             h9f76cd9_1006    conda-forge
mock                      5.0.2              pyhd8ed1ab_0    conda-forge
mpfr                      4.2.0                he09a6ba_0    conda-forge
munkres                   1.1.4              pyh9f0ad1d_0    conda-forge
mysql-common              8.0.33               h7b5afe1_2    conda-forge
mysql-libs                8.0.33               hb292caa_2    conda-forge
ncurses                   6.4                  h7ea286d_0    conda-forge
networkx                  3.1                pyhd8ed1ab_0    conda-forge
nitro                     2.7.dev8             h13dd4ca_0    conda-forge
nose2                     0.9.2                      py_0    conda-forge
nspr                      4.35                 hb7217d7_0    conda-forge
nss                       3.89                 h789eff7_0    conda-forge
numpy                     1.24.3          py311hb8f3215_0    conda-forge
openjpeg                  2.5.0                hbc2ba62_2    conda-forge
openssl                   3.1.2                h53f4e23_0    conda-forge
owslib                    0.29.2             pyhd8ed1ab_0    conda-forge
packaging                 23.1               pyhd8ed1ab_0    conda-forge
pandas                    2.0.3           py311h9e438b8_1    conda-forge
parso                     0.8.3              pyhd8ed1ab_0    conda-forge
pcre2                     10.40                hb34f9b4_0    conda-forge
pdal                      2.5.6                he242ca8_0    conda-forge
pexpect                   4.8.0              pyh1a96a4e_2    conda-forge
pickleshare               0.7.5                   py_1003    conda-forge
pillow                    9.5.0           py311h095fde6_1    conda-forge
pip                       23.1.2             pyhd8ed1ab_0    conda-forge
pixman                    0.40.0               h27ca646_0    conda-forge
platformdirs              3.9.1              pyhd8ed1ab_0    conda-forge
plotly                    5.15.0             pyhd8ed1ab_0    conda-forge
ply                       3.11                       py_1    conda-forge
pooch                     1.7.0              pyha770c72_3    conda-forge
poppler                   23.07.0              h16d8c84_0    conda-forge
poppler-data              0.4.12               hd8ed1ab_0    conda-forge
postgresql                15.4                 h00cd704_0    conda-forge
proj                      9.2.1                h8fdea58_0    conda-forge
prompt-toolkit            3.0.39             pyha770c72_0    conda-forge
prompt_toolkit            3.0.39               hd8ed1ab_0    conda-forge
psycopg2                  2.9.3           py311hcffe8fe_2    conda-forge
pthread-stubs             0.4               h27ca646_1001    conda-forge
ptyprocess                0.7.0              pyhd3deb0d_0    conda-forge
pure_eval                 0.2.2              pyhd8ed1ab_0    conda-forge
pygments                  2.15.1             pyhd8ed1ab_0    conda-forge
pyparsing                 3.0.9              pyhd8ed1ab_0    conda-forge
pyproj                    3.6.0           py311h280d66e_1    conda-forge
pyqt                      5.15.9          py311hc49b008_4    conda-forge
pyqt5-sip                 12.12.2         py311ha891d26_4    conda-forge
pyqtwebkit                5.15.9          py311he2d8cc6_1    conda-forge
pysocks                   1.7.1              pyha2e5f31_6    conda-forge
python                    3.11.4          h47c9636_0_cpython    conda-forge
python-dateutil           2.8.2              pyhd8ed1ab_0    conda-forge
python-tzdata             2023.3             pyhd8ed1ab_0    conda-forge
python_abi                3.11                    3_cp311    conda-forge
pytz                      2023.3             pyhd8ed1ab_0    conda-forge
pyyaml                    6.0             py311he2be06e_5    conda-forge
qca                       2.3.5                h70399c6_3    conda-forge
qgis                      3.32.2          py311h67630d7_0    conda-forge
qjson                     0.9.0             haa19703_1009    conda-forge
qscintilla2               2.14.0          py311h14ede98_0    conda-forge
qt-main                   5.15.8              hab52160_15    conda-forge
qtkeychain                0.14.1               haa19703_0    conda-forge
qtwebkit                  5.212               hfc9f050_12    conda-forge
qwt                       6.2.0                haa19703_6    conda-forge
re2                       2023.03.02           hc5e2d97_0    conda-forge
readline                  8.2                  h92ec313_1    conda-forge
requests                  2.31.0             pyhd8ed1ab_0    conda-forge
scikit-learn              1.3.0                    pypi_0    pypi
scipy                     1.11.1          py311h93d07a4_0    conda-forge
setuptools                67.7.2             pyhd8ed1ab_0    conda-forge
sip                       6.7.11          py311ha891d26_0    conda-forge
six                       1.16.0             pyh6c4a22f_0    conda-forge
snappy                    1.1.10               h17c5cce_0    conda-forge
sqlite                    3.42.0               h203b68d_0    conda-forge
stack_data                0.6.2              pyhd8ed1ab_0    conda-forge
suitesparse               5.10.1               h7cd81ec_1    conda-forge
tbb                       2021.9.0             hffc8910_0    conda-forge
tenacity                  8.2.2              pyhd8ed1ab_0    conda-forge
threadpoolctl             3.2.0                    pypi_0    pypi
tiledb                    2.16.2               h99ee4e4_0    conda-forge
tk                        8.6.12               he1e0b03_0    conda-forge
toml                      0.10.2             pyhd8ed1ab_0    conda-forge
tomli                     2.0.1              pyhd8ed1ab_0    conda-forge
tornado                   6.3.2           py311heffc1b2_0    conda-forge
traitlets                 5.9.0              pyhd8ed1ab_0    conda-forge
triangle                  20220202                 pypi_0    pypi
typing-extensions         4.7.1                hd8ed1ab_0    conda-forge
typing_extensions         4.7.1              pyha770c72_0    conda-forge
tzcode                    2023c                h1a8c8d9_0    conda-forge
tzdata                    2023c                h71feb2d_0    conda-forge
urllib3                   2.0.3              pyhd8ed1ab_0    conda-forge
wcwidth                   0.2.6              pyhd8ed1ab_0    conda-forge
wheel                     0.40.0             pyhd8ed1ab_0    conda-forge
xerces-c                  3.2.4                h68f8447_2    conda-forge
xorg-libxau               1.0.11               hb547adb_0    conda-forge
xorg-libxdmcp             1.1.3                h27ca646_0    conda-forge
xz                        5.2.6                h57fd34a_0    conda-forge
yaml                      0.2.5                h3422bc3_2    conda-forge
zlib                      1.2.13               h53f4e23_5    conda-forge
zstd                      1.5.2                hf913c23_6    conda-forge

Environment info

mamba version : 1.5.0
     active environment : qgis
    active env location : /Users/joao/.conda-envs/qgis
            shell level : 1
       user config file : /Users/joao/.condarc
 populated config files : /opt/homebrew/Caskroom/mambaforge/base/.condarc
                          /Users/joao/.condarc
          conda version : 23.1.0
    conda-build version : not installed
         python version : 3.10.10.final.0
       virtual packages : __archspec=1=arm64
                          __osx=13.5.1=0
                          __unix=0=0
       base environment : /opt/homebrew/Caskroom/mambaforge/base  (writable)
      conda av data dir : /opt/homebrew/Caskroom/mambaforge/base/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/osx-arm64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://conda.anaconda.org/udst/osx-arm64
                          https://conda.anaconda.org/udst/noarch
                          https://conda.anaconda.org/bioconda/osx-arm64
                          https://conda.anaconda.org/bioconda/noarch
                          https://conda.anaconda.org/nodefaults/osx-arm64
                          https://conda.anaconda.org/nodefaults/noarch
          package cache : /opt/homebrew/Caskroom/mambaforge/base/pkgs
                          /Users/joao/.conda/pkgs
       envs directories : /Users/joao/.conda-envs
                          /opt/homebrew/Caskroom/mambaforge/base/envs
                          /Users/joao/.conda/envs
               platform : osx-arm64
             user-agent : conda/23.1.0 requests/2.28.2 CPython/3.10.10 Darwin/22.6.0 OSX/13.5.1
                UID:GID : 501:20
             netrc file : None
           offline mode : False
gillins commented 1 year ago

No idea - I can't seem to easily find any documentation on this. Send in a pull request :smile:

SrNetoChan commented 1 year ago

I believe you can install grass by any other means, anywhere, and set an environment variable pointing to it.

I can't remember the name of that variable though and I am away from the computer until the end of next week.

But I must say that my qgis installation from conda usea grass installed by apt

joaoponceleao commented 1 year ago

Thanks @SrNetoChan I took a look at the environment variables set up by the official qgis binary, and the Grass.sh initialisation file from the official Grass binary. Setting GISBASE=/Applications/GRASS-8.3.app/Contents/Resources/ makes the grass algorithms available in the processing toolbox. There's a few other env variable settings in Grass.sh. I'll close this issue once I've tested things properly and see everything is working.

joaoponceleao commented 11 months ago

Workaround confirmed working.