I'm trying to write a PyQGIS standalone script which utilizes MapScript for certain tasks. In a first attempt, I basically did this:
- I installed MapScript globally with pip and using the Python 3.9.5 interpreter which ships with QGIS 3.22.6 (also includes wheel) - Created a venv with --system-site-packages - Downloaded the appropriate Windows binary build of MapServer from GISInternals (release-1928-x64-gdal-3-4-mapserver-7-6) and extracted into C:\MapServer\ - Set the MAPSERVER_DLL_PATH to C:\MapServer\bin However, whenever I try to load MapScript, it yields the following: Traceback (most recent call last): File "<string>", line 1, in <module> File "C:\QGIS\apps\Python39\lib\site-packages\mapscript\__init__.py", line 2, in <module> from .mapscript import * File "C:\QGIS\apps\Python39\lib\site-packages\mapscript\mapscript.py", line 13, in <module> from . import _mapscript ImportError: DLL load failed while importing _mapscript: The specified module could not be found. As to where the README over at github indicates that this means MapServer.dll can't be found. In order to rule out possible issues, I also tried the following: - Not creating a venv, but using it with the QGIS python version directly - Installing MapScript into normal installations of python 3.7, 3.8, 3.9, 3.10 - Using it together with the latest builds of MapServer (1930) - Not installing MapScript with pip but copying over mapscript.py and _mapscript.pyd from the respective MapServer builds - Adding C:\MapServer\bin to PATH instead of the new env variable All with the same result. The only ever combination I got it working is when installing the MapScript globally using python3.6/pip and the old MapServer release-1911 (7.6.1), where I sadly can't import PyQGIS in the version I need. What could be the issue here? Kind regards, Maëlle
_______________________________________________ MapServer-users mailing list MapServer-users@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/mapserver-users