[Gdal-dev] ng-python build
Jim Klassen
Jim.Klassen at ci.stpaul.mn.us
Tue Oct 16 14:23:27 EDT 2007
Thanks for the response.
Of the two options, I'd personally prefer running setup.py separately
over a new configure option. Either would work for me. However, I am
somewhat more likely to forget to add the configure option and be
surprised after I run "make install".
>>> On 10/16/2007 at 11:38 AM, Christopher Barker
<Chris.Barker at noaa.gov> wrote:
Jim Klassen wrote:
> I've been watching this from the sidelines and would like to add that
at
> St. Paul we have a use for the present behavior of installing the
> bindings next to GDAL.
Thanks for the use case!
> We have multiple versions of GDAL installed on the same machine. We
do
> this so we can update GDAL w/o having to worry about breaking any of
our
> (web) applications. We can test and move the applications to the new
> version one at a time and without disruption to our users. If the
> bindings are in site-* then how does one control which version of
GDAL
> is used?
This has been an issue for years with python modules/packages. For some
completely unknown (to me) reason, the core python developers never
thought it was something worth addressing. The result is that a number
of solutions have been cobbled together by various python package
developers:
1) wxPython has a "wxversion" module, so that you can have multiple
versions installed, and call:
import wxversion
wxversion.select('2.6')
import wx
and get the version you want.
I believe wxGTK has a similar system.
2) there is the workingenv system:
http://cheeseshop.python.org/pypi/workingenv.py
That is designed to set up a python environment for a given app that is
kept distinct from the rest of the python stuff on your system -- it
may
well be the best solution for a server app (Is that what you're
using).
3) Eggs supports version control:
http://peak.telecommunity.com/DevCenter/PythonEggs
At least I thought they did. They do support requiring a given
version:
"""
They allow applications or libraries to specify the needed version of a
library, so that you can e.g. require("Twisted-Internet>=2.0") before
doing an import twisted.internet.
"""
It's not clear to me if that means you can have multiple versions of a
given package installed, and the correct one will be used, but I THINK
that's the case -- more research needed.
As Hobu has been working on setuptools+egg support, that may be the way
to go in the future.
> With the bindings stored with GDAL, we can control which one is
> used by setting [DY]LD_LIBRARY_PATH and PYTHONPATH before calling the
> script.
Maybe it's because I'm a committed pythonista, but I prefer the
python-based approaches to setting up environment variables -- if
nothing else, the python approaches are cross-platform.
That being said, GDAL should support this kind of use. However, I still
don't think that the current behavior is the appropriate default. I'd
like to see a "--python-prefix" option to ./configure, so that folks
can
put the python stuff where they want, which may or may not be the same
place as the rest of GDAL.
The other option is to keep it simple, and not have make run setup.py
--
folks can run that themselves, and pass in any path they want.
Would these work for you?
> I don't remember which update caused it, but I am pretty
> sure it wasn't GDAL so maybe we are just being over cautious.
well, maybe -- the GDAL devs are very committed to backward
compatibility -- but it's still good practice to run a production app
with the versions of libs it's been tested with.
-Chris
--
Christopher Barker, Ph.D.
Oceanographer
Emergency Response Division
NOAA/NOS/OR&R (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception
Chris.Barker at noaa.gov
_______________________________________________
Gdal-dev mailing list
Gdal-dev at lists.maptools.org
http://lists.maptools.org/mailman/listinfo/gdal-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/gdal-dev/attachments/20071016/e0020b7f/attachment.html
More information about the Gdal-dev
mailing list