[mapserver-users] MapScript import errors (Module not found) in Python venv with global install

maëlle lapriel maelscuttle at gmail.com
Thu Apr 28 02:42:41 PDT 2022


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20220428/8d29159e/attachment.html>


More information about the MapServer-users mailing list