Unable to install QSWAT+ in linux

19 views
Skip to first unread message

Tulika K

unread,
Oct 16, 2025, 11:29:06 PMOct 16
to QSWAT+
I have been trying to download the qswat+ in my linux system(i have python 3.10,qgis:2.28)   :
I tried theses steps:
conda create -n qswat_env
conda activate qswat_env 
conda install -c conda-forge qgis=3.28
~/.local/share/QGIS/QGIS3/profiles/default/python/plugins/(copied my downloaded and extracted qswat from the github in this folder)
renamed to metadata(many metadata avaiabale tried renaming all to metadata.txt )
But plugin is still not working(showing compatibility issues)

Chris George

unread,
Oct 17, 2025, 8:34:31 AMOct 17
to Tulika K, QSWAT+
You are using a very old version of QGIS. Can you install a more recent
one? The critical problem is the version of Python used by QGIS: use
Help -> About to see. The Linux version of QSWAT+ expects the Python
version to be 3.12.something

Chris

On 10/16/2025 5:28 AM, Tulika K wrote:
> I have been trying to download the qswat+ in my linux system(i have
> python 3. 10,qgis: 2. 28)   : I tried theses steps: conda create -n
> qswat_env conda activate qswat_env  conda install -c conda-forge
> qgis=3. 28 ~/. local/share/QGIS/QGIS3/profiles/default/python/plugins/
> (copied
> ZjQcmQRYFpfptBannerStart
> This Message Is From an External Sender
> This message came from outside your organization.
> ZjQcmQRYFpfptBannerEnd
> I have been trying to download the qswat+ in my linux system(i have
> python 3.10,qgis:2.28)   :
> I tried theses steps:
> conda create -n qswat_env
> conda activate qswat_env
> conda install-c conda-forge qgis=3.28
> ~/.local/share/QGIS/QGIS3/profiles/default/python/plugins/(copied my
> downloaded and extracted qswat from the github in this folder)
> renamed to metadata(many metadata avaiabale tried renaming all to
> metadata.txt )
> But plugin is still not working(showing compatibility issues)
>
> --
> You received this message because you are subscribed to the Google
> Groups "QSWAT+" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to qswatplus+...@googlegroups.com
> <mailto:qswatplus+...@googlegroups.com>.
> To view this discussion visit https://groups.google.com/d/msgid/
> qswatplus/57972b46-1dcc-4d75-8b03-0239002f0379n%40googlegroups.com
> <https://urldefense.com/v3/__https://groups.google.com/d/msgid/
> qswatplus/57972b46-1dcc-4d75-8b03-0239002f0379n*40googlegroups.com?
> utm_medium=email&utm_source=footer__;JQ!!KwNVnqRv!
> Cdb6iVgTB_8c6cdcg9DImSNP8W8Y0GQHnLqNFuA4K9YzccfT0ORoC4-0zfAKY6oWzbSipqFwqqkP72JNvw$>.

Onur Kerimoglu

unread,
Oct 30, 2025, 10:35:11 AM (6 days ago) Oct 30
to QSWAT+
Hello,

This seems to be the right thread here.

Trying to install QSWAT+ on my Ubuntu 24.04.3 LTS with python 3.12.3 and QGIS 3.40.12 (LTR).

The original documentation (https://swatplus.gitbook.io/docs/installation) suggests installing SWAT+2.3, following the instructions (https://swatplus.gitbook.io/docs/2.3/installation), I downloaded the archive and installed (forall) without any issues: The /usr/local/share/SWATPlus and /usr/share/qgis/python/plugins/QSWATPlusLinux3_64 folders are created with the expected content.

Now on QGIS I can see a 'QSWATPlusLinux3_64' entry, which I  can activate, however no 'S+ ' plugin appears on the toolbar. Clicking the thought bubble in the lower right corner, I do see the QSWAT+ tab with the log copied below. 

Any suggestions would be much appreciated!

Thanks,
Onur

2025-10-28T20:54:38     INFO    QSWAT+ failed to import HRUs: Traceback (most recent call last):
              File "/usr/share/qgis/python/plugins/QSWATPlusLinux3_64/QSWATPlus/DBUtils.py", line 41, in <module>
              from .dataInC import BasinData, CellData, LSUData, WaterBody # type: ignore # @UnresolvedImport @UnusedImport
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File "/usr/lib/python3/dist-packages/qgis/utils.py", line 1100, in _import
              mod = _builtin_import(name, globals, locals, fromlist, level)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             ModuleNotFoundError: No module named 'QSWATPlusLinux3_64.QSWATPlus.dataInC'
             
             During handling of the above exception, another exception occurred:
             
             Traceback (most recent call last):
              File "/usr/share/qgis/python/plugins/QSWATPlusLinux3_64/QSWATPlus/QSWATTopology.py", line 39, in <module>
              from .DBUtils import DBUtils # type: ignore # @UnusedImport
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File "/usr/lib/python3/dist-packages/qgis/utils.py", line 1100, in _import
              mod = _builtin_import(name, globals, locals, fromlist, level)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File "/usr/share/qgis/python/plugins/QSWATPlusLinux3_64/QSWATPlus/DBUtils.py", line 45, in <module>
              from QSWATUtils import QSWATUtils, FileTypes # @UnresolvedImport @Reimport
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File "/usr/lib/python3/dist-packages/qgis/utils.py", line 1100, in _import
              mod = _builtin_import(name, globals, locals, fromlist, level)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             ModuleNotFoundError: No module named 'QSWATUtils'
             
             During handling of the above exception, another exception occurred:
             
             Traceback (most recent call last):
              File "/usr/share/qgis/python/plugins/QSWATPlusLinux3_64/QSWATPlus/QSWATPlusMain.py", line 55, in <module>
              from .hrus import HRUs
              File "/usr/lib/python3/dist-packages/qgis/utils.py", line 1100, in _import
              mod = _builtin_import(name, globals, locals, fromlist, level)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File "/usr/share/qgis/python/plugins/QSWATPlusLinux3_64/QSWATPlus/hrus.py", line 46, in <module>
              from .QSWATTopology import QSWATTopology # type: ignore
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File "/usr/lib/python3/dist-packages/qgis/utils.py", line 1100, in _import
              mod = _builtin_import(name, globals, locals, fromlist, level)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File "/usr/share/qgis/python/plugins/QSWATPlusLinux3_64/QSWATPlus/QSWATTopology.py", line 45, in <module>
              from QSWATUtils import QSWATUtils, FileTypes, ListFuns # @UnresolvedImport @Reimport
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File "/usr/lib/python3/dist-packages/qgis/utils.py", line 1100, in _import
              mod = _builtin_import(name, globals, locals, fromlist, level)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             ModuleNotFoundError: No module named 'QSWATUtils'
             
2025-10-28T20:54:38     INFO    Failed to load Cython module: wrong architecture?: Traceback (most recent call last):
              File "/usr/share/qgis/python/plugins/QSWATPlusLinux3_64/QSWATPlus/QSWATPlusMain.py", line 88, in __init__
              from . import dataInC # @UnusedImport
              ^^^^^^^^^^^^^^^^^^^^^
             ImportError: cannot import name 'dataInC' from 'QSWATPlusLinux3_64.QSWATPlus' (unknown location)
             
2025-10-28T21:06:21     INFO    QSWAT+ failed to import HRUs: Traceback (most recent call last):
              File "/usr/share/qgis/python/plugins/QSWATPlusLinux3_64/QSWATPlus/DBUtils.py", line 41, in <module>
              from .dataInC import BasinData, CellData, LSUData, WaterBody # type: ignore # @UnresolvedImport @UnusedImport
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File "/usr/lib/python3/dist-packages/qgis/utils.py", line 1100, in _import
              mod = _builtin_import(name, globals, locals, fromlist, level)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             ModuleNotFoundError: No module named 'QSWATPlusLinux3_64.QSWATPlus.dataInC'
             
             During handling of the above exception, another exception occurred:
             
             Traceback (most recent call last):
              File "/usr/share/qgis/python/plugins/QSWATPlusLinux3_64/QSWATPlus/QSWATTopology.py", line 39, in <module>
              from .DBUtils import DBUtils # type: ignore # @UnusedImport
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File "/usr/lib/python3/dist-packages/qgis/utils.py", line 1100, in _import
              mod = _builtin_import(name, globals, locals, fromlist, level)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File "/usr/share/qgis/python/plugins/QSWATPlusLinux3_64/QSWATPlus/DBUtils.py", line 45, in <module>
              from QSWATUtils import QSWATUtils, FileTypes # @UnresolvedImport @Reimport
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File "/usr/lib/python3/dist-packages/qgis/utils.py", line 1100, in _import
              mod = _builtin_import(name, globals, locals, fromlist, level)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             ModuleNotFoundError: No module named 'QSWATUtils'
             
             During handling of the above exception, another exception occurred:
             
             Traceback (most recent call last):
              File "/usr/share/qgis/python/plugins/QSWATPlusLinux3_64/QSWATPlus/QSWATPlusMain.py", line 55, in <module>
              from .hrus import HRUs
              File "/usr/lib/python3/dist-packages/qgis/utils.py", line 1100, in _import
              mod = _builtin_import(name, globals, locals, fromlist, level)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File "/usr/share/qgis/python/plugins/QSWATPlusLinux3_64/QSWATPlus/hrus.py", line 46, in <module>
              from .QSWATTopology import QSWATTopology # type: ignore
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File "/usr/lib/python3/dist-packages/qgis/utils.py", line 1100, in _import
              mod = _builtin_import(name, globals, locals, fromlist, level)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File "/usr/share/qgis/python/plugins/QSWATPlusLinux3_64/QSWATPlus/QSWATTopology.py", line 45, in <module>
              from QSWATUtils import QSWATUtils, FileTypes, ListFuns # @UnresolvedImport @Reimport
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File "/usr/lib/python3/dist-packages/qgis/utils.py", line 1100, in _import
              mod = _builtin_import(name, globals, locals, fromlist, level)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             ModuleNotFoundError: No module named 'QSWATUtils'
             
2025-10-28T21:06:21     INFO    Failed to load Cython module: wrong architecture?: Traceback (most recent call last):
              File "/usr/share/qgis/python/plugins/QSWATPlusLinux3_64/QSWATPlus/QSWATPlusMain.py", line 88, in __init__
              from . import dataInC # @UnusedImport
              ^^^^^^^^^^^^^^^^^^^^^
             ImportError: cannot import name 'dataInC' from 'QSWATPlusLinux3_64.QSWATPlus' (unknown location)

Onur Kerimoglu

unread,
Oct 30, 2025, 10:35:19 AM (6 days ago) Oct 30
to QSWAT+
Hello,

(apologies if this is coming a second time?)

This seems to be the right thread: On an Ubuntu 24.04.3, Python 3.12.3, QGIS 3.40.12 (current LTR), I am trying to install QSWAT+.

The installation guide (https://swatplus.gitbook.io/docs/installation) suggests using v2.3 installer for Linux. Installing for all, everything seems fine: /usr/local/share/SWATPlus and /usr/share/qgis/python/plugins/QSWATPlusLinux3_64 are created with the expected content.

Now on QGIS > Plugins, I can see and activate QSWATPlusLinux3_64v, but the S+ button doesn't appear, and clicking on the thought bubble, there is the QSWAT+ tab with the log copied below.

Any suggestions?

Thanks,
Onur QSQWATPlusLinux3_64

Chris George

unread,
Oct 30, 2025, 1:18:39 PM (6 days ago) Oct 30
to Onur Kerimoglu, QSWAT+
Hi Onur,

This does not seem to be a version problem: you are running the same
versions as me. I am mystified by the messages, as it seems to be
looking for the wrong file. Do you have a file
/usr/share/qgis/python/plugins/QSWATPlusLinux3_64/QSWATPlus/datainC.cpython-312-x86_64-linux-gnu.so

I would try installing again, and if that does not work try installing
'just for me' (but make sure you run as the same user).

Chris


On 10/28/2025 9:21 PM, 'Onur Kerimoglu' via QSWAT+ wrote:
> Hello, (apologies if this is coming a second time?) This seems to be the
> right thread: On an Ubuntu 24. 04. 3, Python 3. 12. 3, QGIS 3. 40. 12
> (current LTR), I am trying to install QSWAT+. The installation guide
> (https: //swatplus. gitbook. io/docs/installation)
> ZjQcmQRYFpfptBannerStart
> This Message Is From an External Sender
> This message came from outside your organization.
> ZjQcmQRYFpfptBannerEnd
> <https://urldefense.com/v3/__https://groups.google.com/d/msgid/__;!!
> KwNVnqRv!Ag3zhUh5Uj6YiUuQ-GkpmtYF729tHEzG741xSIq-qG-
> s9TMVthyizy_uiiHkvDSvgxClkewxuSlUivbmu6xn2C8$>
> >
> qswatplus/57972b46-1dcc-4d75-8b03-0239002f0379n%40googlegroups.com
> <https://urldefense.com/v3/__http://40googlegroups.com__;!!KwNVnqRv!
> Ag3zhUh5Uj6YiUuQ-GkpmtYF729tHEzG741xSIq-qG-
> s9TMVthyizy_uiiHkvDSvgxClkewxuSlUivbmr0MAMHQ$>
> > <https://urldefense.com/v3/__https://groups.google.com/d/msgid/
> <https://urldefense.com/v3/__https://groups.google.com/d/msgid/>
> >
> qswatplus/57972b46-1dcc-4d75-8b03-0239002f0379n*40googlegroups.com
> <https://urldefense.com/v3/__http://40googlegroups.com__;!!KwNVnqRv!
> Ag3zhUh5Uj6YiUuQ-GkpmtYF729tHEzG741xSIq-qG-
> s9TMVthyizy_uiiHkvDSvgxClkewxuSlUivbmr0MAMHQ$>?
> > utm_medium=email&utm_source=footer__;JQ!!KwNVnqRv!
> >
> Cdb6iVgTB_8c6cdcg9DImSNP8W8Y0GQHnLqNFuA4K9YzccfT0ORoC4-0zfAKY6oWzbSipqFwqqkP72JNvw$>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "QSWAT+" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to qswatplus+...@googlegroups.com
> <mailto:qswatplus+...@googlegroups.com>.
> To view this discussion visit https://groups.google.com/d/msgid/
> qswatplus/63cce9c5-4440-4234-9547-0bb230942cacn%40googlegroups.com
> <https://urldefense.com/v3/__https://groups.google.com/d/msgid/
> qswatplus/63cce9c5-4440-4234-9547-0bb230942cacn*40googlegroups.com?
> utm_medium=email&utm_source=footer__;JQ!!KwNVnqRv!Ag3zhUh5Uj6YiUuQ-
> GkpmtYF729tHEzG741xSIq-qG-s9TMVthyizy_uiiHkvDSvgxClkewxuSlUivbmAsdUjIE$>.

Onur Kerimoglu

unread,
Nov 3, 2025, 10:11:13 AM (2 days ago) Nov 3
to QSWAT+
Hi Chris,

thanks for your response.

This does not seem to be a version problem: you are running the same
versions as me. I am mystified by the messages, as it seems to be
looking for the wrong file. Do you have a file
/usr/share/qgis/python/plugins/QSWATPlusLinux3_64/QSWATPlus/datainC.cpython-312-x86_64-linux-gnu.so

Under /usr/share/qgis/python/plugins/QSWATPlusLinux3_64/QSWATPlus, I see the dataInC.cpython .so files for py 3.8, 3.10, 311, but not for 3.12. 
This (missing 312, available 38, 310, 311)  is also the case for other .so files (jenks, polygonizeInC, polygonizeInC2).

I would try installing again, and if that does not work try installing
'just for me' (but make sure you run as the same user).

When I try installing just forme, the same symptoms: ~/.local/share/QGIS/QGIS3/profiles/default/python/plugins/QSWATPlusLinux3_64/QSWATPlus directory is created, but the 312 .so files are missing.

It seems like the archive v.2.3.1 from July 2023 (pointed by https://swatplus.gitbook.io/docs/2.3/installation) is missing the py 3.12 files, so I am wondering whether there might be a newer archive version somewhere (and that page might need an update)?

Best, 
Onur
Reply all
Reply to author
Forward
0 new messages