I am on a django project where I want to use the python implementation of the mapserver mapscript library. I was able to install mapserver and python-mapscript from source.
However, due to the project setup I am forced to run django in a virtualenv that does not allow site-packages in my virtual environment.
Since mapscript is installed as a global site-package my django app can't see the mapscript installation. When I try to install mapscript through pip install mapscript
I get an error 'mapserver.h' file not found
.
How can I install python-mapscript in my virtual environment?
I thought of copying the installed egg into my virtual environment, but I am not sure if that is possible.
Best Answer
I just faced the same problem and solved it by copy the
mapscript.py
and_mapscript.so
into my virtual env.At least the following script in a python web-app worked fine, based on the mapserver demo files I got here.
This is just a test script, which proved that the mapfile is correctly read and the picture is created.
I you are not allowed to copy, you may try your luck with
pip install
again by adding the include paths:I needed the packages
libmapserver-dev
,libgd-dev
,libgdal-dev
andlibproj-dev
installed to get the compiling running to start and ran into many errors. The log showed:While Mapserver 6.4 is installed on my system (and 7.0 just came out), there seems to by a compatibility issue. According to PyPi the most recept
mapscript
pip package is version5.6
from 2010.I guess you can't install it via
pip
unless you usemapserver 5.6
or older.