16

How can I get the installed GDAL/OGR version from python?

I aware of the gdal-config program and are currently using the following:

In [3]: import commands

In [4]: commands.getoutput('gdal-config --version')
Out[4]: '1.7.2'

However, I suspect there is a way to do this using the python API itself. Any dice?

fmark
  • 57,259
  • 27
  • 100
  • 107

2 Answers2

26

gdal.VersionInfo() does what I want:

>>> osgeo.gdal.VersionInfo()
'1604'

This works on both my Windows box and Ubuntu install. gdal.__version__ gives an error on my Windows installation, although it works on my Ubuntu installation:

>>> import osgeo.gdal
>>> print osgeo.gdal.__version__
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute '__version__'
fmark
  • 57,259
  • 27
  • 100
  • 107
  • 1
    Current invocation, circa 2020s, is `python -c "from osgeo import gdal;print(gdal.__version__)"` (command line example since it has better formatting in a comment) – matt wilkie Mar 18 '22 at 21:04
16

The __version__ property in the osgeo.gdal module is a string that contains the version number

import osgeo.gdal
print osgeo.gdal.__version__

On my ubuntu machine gives:

>> '1.6.3'
Andrew Walker
  • 40,984
  • 8
  • 62
  • 84