Installing Python Mapscript on Windows XP

Sean Gillies sgillies at FRII.COM
Fri Apr 29 12:07:34 EDT 2005


Bas,

Look at Python's cgitb module.  It will allow your CGI script to return
a more informative traceback.

Another thing to check is that the PATH, PROJ_LIB, and other variables
are properly set for the Apache user's environment.

Sean


On Apr 29, 2005, at 8:04 AM, Bas Vanmeulebrouk wrote:

> Hello Howard,
>
> Thank you very much for reaction. I thought I had downloaded the Python
> Mapscript build without SDE and Oracle support, but of course I may be
> mistaken.=20
>
> I have solved the gdal12.dll problem. And when I run a Python script in
> which I use "import mapscript", everything runs fine. I can create a
> new
> mapObj and save it to an image. However, if I call this script via the
> Apache webserver, I get the internal server error.=20
>
> I have downloaded the FWTools package and I will try it next week.
>
> Kind regards,
>
> Bas.
>
> -----Original Message-----
> From: Howard Butler [mailto:hobu at iastate.edu]=20
> Sent: Thursday, April 28, 2005 6:16 PM
> To: Bas Vanmeulebrouk; MAPSERVER-USERS at LISTS.UMN.EDU
> Subject: Re: Installing Python Mapscript on Windows XP
>
>
> Bas,
>
> Regarding the SDE depencency in my MapScript builds.... you need to be
> =
> very=20
> careful to get the exact Python MapScript you need.  As you can see on
> =
> my=20
> website, there are *four* Python MapScript builds.  At one time, you =
> must=20
> have chosen either the "SDE" or "Full" build, which both have the
> SDE=20
> dependency.  Use the "Normal" release at all times unless you have a =
> need=20
> (and the dlls) for either SDE or Oracle.
>
> Regarding the extra gdal12.dll's in C:\python23\ and
> C:\python23\dlls... =
>
> The Python uninstaller doesn't deal with dlls in the main sys.prefix=20
> directory very well on Windows (especially in an uninstall-reinstall=20
> cycle).  I've had to manually delete these after an uninstall of
> Python=20
> MapScript (using the control panel).  Python 2.4 (which I don't
> provide=20
> builds for) does better at this, and will uninstall dlls in the DLLs=20
> directory.  Uninstall all of the mapscripts that you have using the =
> control=20
> panel and then go into the python23 directory and delete the dlls by=20
> hand.  This will clean up your Python directory.  If you have other=20
> gdal12.dlls, you'll either have to move the PATH, clean them up, or
> do=20
> something with them as you see fit.
>
> Regarding the issue of not seeing which dll python can't find... run
> the =
>
> python script using a command window (dos prompt), rather than IDLE
> or=20
> Activestate.  The IDEs swallow the dialog for some reason.
>
> FWTools is more cleanly packaged than my mapscript binaries=20
> <http://fwtools.maptools.org/>.  It comes with its own Python and=20
> everything else you might need.  I suggest you try it if you continue
> to =
>
> have trouble with my binaries.
>
> Howard
>
>
> At 10:32 AM 4/28/2005, Bas Vanmeulebrouk wrote:
>> Frank,
>>
>> Thank you very much for your reaction. I did rename the one in the
>> windows/system32 directory. However, I didn't notice that there
>> were=20
>> two gdal12.dll's in the Python installation directory: one in the
>> root=20
>> and =3D one in the DLLs subdirectory. I have renamed the one in the =
> DLLs=20
>> =3D subdirectory
>> and after that got a different error message (now sde90.dll was =3D
>> missing).=3D20
>>
>> This errormessage always appeared, no matter from what location I =3D
>> started Python. Sde90.dll was on my machine, in the C:\Program=20
>> Files\Common\ESRI directory. After I had added this directory to
>> the=20
>> PATH environment variable, Python Mapscript was finally working.
>> But=20
>> does this mean =3D Python
>> Mapscript needs some ESRI files? The ones I have came with the =3D
>> installation
>> of ESRI MapObjects 2.3.=3D20
>>
>> I want to use Python/Mapscript to generate a map and some HTML which
>> can =3D be displayed in webbrowser. So I thought I should get a=20
>> Python/Mapscript =3D script
>> which does this to work as a CGI script. I can get Apache to execute a
>> Python CGI script, but when I include the line "import mapscript", I =
> get =3D
>> an
>> internal server error and the following error messages in the Apache =
> =3D
>> error
>> log.=3D20
>>
>> Traceback (most recent call last):\n
>>    File "c:\\PROGRA~1\\APACHE~1\\apache\\cgi-bin\\HELLO_~1.PY", line
>> 4, =3D in ?\n
>>      import mapscript\n
>>    File "C:\\programs\\python23\\Lib\\site-packages\\mapscript.py", =
> line =3D
>> 4,
>> in ?\n
>>      import _mapscript\n
>> ImportError: DLL load failed: The specified module could not be =
> found.\n
>>
>> I don't have a clue which dll is missing this time. Anyone? Or is
>> there
>> another way to achieve this?
>>
>> Kind regards,
>>
>> Bas Vanmeulebrouk.=3D20
>>
>> -----Original Message-----
>> From: Frank Warmerdam [mailto:fwarmerdam at gmail.com]=3D20
>> Sent: Thursday, April 28, 2005 2:19 PM
>> To: Bas Vanmeulebrouk
>> Cc: MAPSERVER-USERS at lists.umn.edu
>> Subject: Re: [UMN_MAPSERVER-USERS] Installing Python Mapscript on =3D
>> Windows XP
>>
>>
>> On 4/28/05, Bas Vanmeulebrouk <bvanmeul at ebe.uct.ac.za> wrote:
>>> =3D20
>>> Hi list,
>>>  =3D20
>>> I have been trying to get Python Mapscript up and running on MS=3D20
>>> Windows XP, but I haven't succeeded yet. I have downloaded
>>> the=3D20=20
>>> binaries at http://hobu.stat.iastate.edu/mapserver/. When I =
> start=3D20=20
>>> Python from the directory in which I have installed Python,=20
>>> Mapscript=3D20 works fine. However, if I start Python from another=20
>>> directory, I get=3D20 the following error message when I try
>>> import=20
>>> mapscript at the Python=3D20 command line: "The procedure entry=20
>>> point=3D20 ?SetnextByIndex at OGRLayer@@UAEHJ at Z could not be located in
>>> =
>
>>> the dynamic=3D20 link library gdal12.dll.".  =3D20
>>> I have found four copies of gdal12.dll on my machine. I have =
> been=3D20
>>> exeprimenting with the PATH environment variable, I have renamed =
> the=3D20
>>> various dll's, but the message stays the same.
>>>  =3D20
>>> Does anyone have an idea what might be wrong?
>>
>> Bas,=3D20
>>
>> I am guessing that one of the 4 gdal12.dll's is in =
> windows\system32,=3D20
>> right?  This location takes precidence over the PATH, but even
>> higher=20
>> precidence is the directory the program is running in.=3D20
>>
>> I would suggest you move or rename the version in =
> windows\system32.=3D20
>>
>> Best regards,
>> ---------------------------------------
>> +-------------------------------
>> ---------------------------------------+-
>> ---------------------------------------+------
>> I set the clouds in motion - turn up   | Frank Warmerdam,
>> warmerdam at pobox.com
>> light and sound - activate the windows | http://pobox.com/~warmerdam
>> and watch the world go round - Rush    | Geospatial Programmer for
>> Rent
>



More information about the mapserver-users mailing list