#1 Wed 05 November 2025 19:05
- image95
- Participant assidu
- Date d'inscription: 6 Sep 2014
- Messages: 300
QGIS/Installation plugin map segmenter: erreur DLL
Bonjour,
J'essaie d'installr le plugin map segmenter :
https://github.com/sirebellum/qgis-segmentation
Mais dans le gestionnaire de plugin lorsque je coche le plugin j'ai un message d'erreur.
Impossible de charger l'extension 'segmenter' provoque une erreur lors de l'appel à sa méthode classFactory()
Code:
ImportError: DLL load failed while importing lib: La procédure spécifiée est introuvable.
Traceback (most recent call last):
File "C:\PROGRA~1/QGIS33~1.13/apps/qgis-ltr/./python\qgis\utils.py", line 423, in _startPlugin
plugins[packageName] = package.classFactory(iface)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users/lcelati/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\segmenter\__init__.py", line 26, in classFactory
from .segmenter import Segmenter
File "C:\PROGRA~1/QGIS33~1.13/apps/qgis-ltr/./python\qgis\utils.py", line 892, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users/lcelati/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\segmenter\segmenter.py", line 58, in
from sklearn.cluster import KMeans
File "C:\PROGRA~1/QGIS33~1.13/apps/qgis-ltr/./python\qgis\utils.py", line 892, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\lcelati\AppData\Roaming\Python\Python312\site-packages\sklearn\__init__.py", line 73, in
from .base import clone # noqa: E402
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\PROGRA~1/QGIS33~1.13/apps/qgis-ltr/./python\qgis\utils.py", line 892, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\lcelati\AppData\Roaming\Python\Python312\site-packages\sklearn\base.py", line 20, in
from .utils._missing import is_scalar_nan
File "C:\PROGRA~1/QGIS33~1.13/apps/qgis-ltr/./python\qgis\utils.py", line 892, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\lcelati\AppData\Roaming\Python\Python312\site-packages\sklearn\utils\__init__.py", line 9, in
from ._chunking import gen_batches, gen_even_slices
File "C:\PROGRA~1/QGIS33~1.13/apps/qgis-ltr/./python\qgis\utils.py", line 892, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\lcelati\AppData\Roaming\Python\Python312\site-packages\sklearn\utils\_chunking.py", line 11, in
from ._param_validation import Interval, validate_params
File "C:\PROGRA~1/QGIS33~1.13/apps/qgis-ltr/./python\qgis\utils.py", line 892, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\lcelati\AppData\Roaming\Python\Python312\site-packages\sklearn\utils\_param_validation.py", line 17, in
from .validation import _is_arraylike_not_scalar
File "C:\PROGRA~1/QGIS33~1.13/apps/qgis-ltr/./python\qgis\utils.py", line 892, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\lcelati\AppData\Roaming\Python\Python312\site-packages\sklearn\utils\validation.py", line 21, in
from ..utils._array_api import _asarray_with_order, _is_numpy_namespace, get_namespace
File "C:\PROGRA~1/QGIS33~1.13/apps/qgis-ltr/./python\qgis\utils.py", line 892, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\lcelati\AppData\Roaming\Python\Python312\site-packages\sklearn\utils\_array_api.py", line 20, in
from .fixes import parse_version
File "C:\PROGRA~1/QGIS33~1.13/apps/qgis-ltr/./python\qgis\utils.py", line 892, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\lcelati\AppData\Roaming\Python\Python312\site-packages\sklearn\utils\fixes.py", line 421, in
import pyarrow
File "C:\PROGRA~1/QGIS33~1.13/apps/qgis-ltr/./python\qgis\utils.py", line 892, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\PROGRA~1\QGIS33~1.13\apps\Python312\Lib\site-packages\pyarrow\__init__.py", line 65, in
import pyarrow.lib as _lib
File "C:\PROGRA~1/QGIS33~1.13/apps/qgis-ltr/./python\qgis\utils.py", line 892, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ImportError: DLL load failed while importing lib: La procédure spécifiée est introuvable.
Version de Python : 3.12.7 (main, Oct 25 2024, 11:18:09) [MSC v.1938 64 bit (AMD64)]
Version de QGIS : 3.34.13-Prizren Prizren, 222b5995
Chemin Python :
C:\Users/lcelati/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\segmap
C:\Users/lcelati/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\TocTable-main
C:\Users/lcelati/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\terminus_processing
C:\Users/lcelati/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\dissect_dissolve_overlaps_sagang
C:\Users/lcelati/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\buffer_without_overlaps
C:\Users/lcelati/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\BoundaryDelineation/lib
C:/PROGRA~1/QGIS33~1.13/apps/qgis-ltr/./python
C:/Users/lcelati/AppData/Roaming/QGIS/QGIS3\profiles\default/python
C:/Users/lcelati/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins
C:/PROGRA~1/QGIS33~1.13/apps/qgis-ltr/./python/plugins
C:\PROGRA~1\QGIS33~1.13\apps\grass\grass84\etc\python
C:\Users\Default\Documents
C:\Program Files\QGIS 3.34.13\bin\python312.zip
C:\PROGRA~1\QGIS33~1.13\apps\Python312\DLLs
C:\PROGRA~1\QGIS33~1.13\apps\Python312\Lib
C:\Program Files\QGIS 3.34.13\bin
C:\Users\lcelati\AppData\Roaming\Python\Python312\site-packages
C:\PROGRA~1\QGIS33~1.13\apps\Python312
C:\PROGRA~1\QGIS33~1.13\apps\Python312\Lib\site-packages
C:\PROGRA~1\QGIS33~1.13\apps\Python312\Lib\site-packages\win32
C:\PROGRA~1\QGIS33~1.13\apps\Python312\Lib\site-packages\win32\lib
C:\PROGRA~1\QGIS33~1.13\apps\Python312\Lib\site-packages\Pythonwin
C:/Users/lcelati/AppData/Roaming/QGIS/QGIS3\profiles\default/python
C:\Users\lcelati\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\deepness\python3.12Hors ligne
#2 Wed 12 November 2025 09:57
- Perl21
- Participant occasionnel
- Date d'inscription: 3 Jun 2025
- Messages: 13
Re: QGIS/Installation plugin map segmenter: erreur DLL
Bonjour,
L’erreur ne vient pas directement du plugin Map Segmenter, mais d’une dépendance Python : en activant le plugin, scikit-learn se charge (from sklearn.cluster import KMeans) et tente d’importer pyarrow, qui échoue dans l’environnement Python embarqué de QGIS (Windows) avec un “DLL load failed while importing lib”. C’est un souci connu avec QGIS 3.34. + pyarrow sous Windows.
Voici 3 pistes qui résolvent généralement le problème :
- Purger les “user site-packages” hors de QGIS (solution la plus propre)
QGIS charge chez toi C:\Users\lcelati\AppData\Roaming\Python\Python312\site-packages\… (on le voit dans la trace).
Ferme QGIS puis renomme temporairement ce dossier (ex. site-packages_OFF) pour empêcher QGIS d’y piocher, ou crée un nouveau profil QGIS (“Profil utilisateur”) afin de repartir sans paquets externes.
Rouvre QGIS et réactive le plugin.
- Installer pyarrow (et scikit-learn) dans le Python de QGIS (peut marcher selon les machines)
Ouvre OSGeo4W Shell (QGIS LTR).
Exécute :
py3_env
python -m pip install --upgrade pip
python -m pip install --upgrade scikit-learn
python -m pip install --upgrade pyarrow
Relance QGIS et active le plugin.
- Tester avec une version de QGIS plus récente
Plusieurs retours indiquent moins de problèmes de dépendances (Arrow/pyarrow) avec des versions ultérieures de QGIS (3.36/3.38). Si possible, essaie sur une installation parallèle “Standalone” récente.
À défaut, des alternatives de segmentation fonctionnent sans cet enchaînement de dépendances (ex. Deepness, Geo-SAM), si tu dois avancer tout de suite.
N’hésite pas à me dire ce que tu constates après l’option 1 (renommage du dossier site-packages / nouveau profil) : c’est généralement la plus rapide pour éliminer le conflit.
Hors ligne


