[Tilecache] mod_python, again

Yves Moisan yves.moisan at boreal-is.com
Tue Mar 10 16:40:07 EDT 2009


An additional note on the issue :

FeatureServer *works* with all of CGI, mod_wsgi *and* mod_python.  It's
on the exact same machine as TileCache.  Of course I had to do the same
registry trick.  So there has to be a problem with TC.

Apache 2.2.10 on windows.

Yves

Le mardi 10 mars 2009 à 16:33 -0400, Yves Moisan a écrit :
> Hi All,
> 
> I thought I had settled the issue before, but it doesn't seem so.  I got
> TC working on Python 2.4 with mod_python 3.2.7.  At the time, I had
> noted that mod_python 3.3.1 did not work with TC.  
> 
> Now, I'm setting up a new server and want to upgrade Python, so I go
> with 2.5.2.  There's no mod_python 3.2.7 for Python 2.5 ... so I grab
> 3.3.1.  And problems begin.
> 
> What works :
> 
> mod_python : 
> 
> - the mptest.py test on the mod_python page
> (http://www.modpython.org/live/current/doc-html/inst-testing.html) works
> so I assume this means everything is ok mod_python wise
> 
> tilecache :
> 
> - cgi works :
> http://localhost:8888/tilecache/tilecache.cgi/1.0.0/basic/0/0/0.png
> 
> http://localhost:8888/tilecache/tilecache.py/1.0.0/basic/0/0/0.png gives
> 
> An error occurred: No section: 'cache'
>   File "C:\Program Files\MyDir\ms4w\Apache\htdocs\tilecache\TileCache
> \Service.py", line 96, in _load
>     cache = cls.loadFromSection(config, "cache", Cache)
>   File "C:\Program Files\MyDir\ms4w\Apache\htdocs\tilecache\TileCache
> \Service.py", line 51, in _loadFromSection
>     type  = config.get(section, "type")
>   File "C:\Program Files\MyDir\Python25\lib\ConfigParser.py", line 511,
> in get
>     raise NoSectionError(section)
> 
> NOTE :  The Apache logs show that mod_python's path is not altered by
> setting the PythonPath directive in httpd.conf.  IOW, the PythonPath
> directive has no effect whatsoever on windows ...  The only way to get
> the nice error message shown above is to force the tilecache paths into
> the registry PythonPath variable.  Without that, I get an Internal
> Server Error (and corresponding "ImportError: No module named
> TileCache.Service" entry in Apache log).  
> 
> Now, I have a cache section in my cfg file or else CGI wouldn't work.
> Looking at the first line in the error, I see there is a path problem.
> Next are the relevant bits of files; I can't see what's wrong with my
> paths :
> 
> tilecache.cfg
> ...
> [cache]
> type=Disk
> base=C:/Program Files/MyDir/GeoData
> ...
> 
> with the regular basic layer
> 
> httpd.conf
> ...
> # TileCache, mode CGI
>     <Directory htdocs/tilecache/>
>          AddHandler cgi-script .cgi
>          Options +ExecCGI
>     </Directory>
> 
> # TileCache, mode mod_python	
> <Directory htdocs/tilecache/>
>     AddHandler python-program .py
> #	PythonPath "['C:/Program
> Files/MyDir/ms4w/Apache/htdocs/tilecache/TileCache', 'C:/Program
> Files/MyDir/ms4w/Apache/htdocs/tilecache'] + sys.path"
> # Previous line has no effect on path used by mod_python
>     PythonHandler TileCache.Service 
>     PythonOption TileCacheConfig "C:/Program
> Files/MyDir/ms4w/Apache/htdocs/tilecache/htdocs/tilecache/tilecache.cfg"
> </Directory>
> ...
> 
> Thanx for pointers,
> 
> Yves
> 
> 
> _______________________________________________
> Tilecache mailing list
> Tilecache at openlayers.org
> http://openlayers.org/mailman/listinfo/tilecache




More information about the Tilecache mailing list