Changes between Version 10 and Version 11 of PythonGotchas
 Timestamp:
 Sep 20, 2010 11:42:07 AM (9 years ago)
Legend:
 Unmodified
 Added
 Removed
 Modified

PythonGotchas
v10 v11 209 209 === Python crashes in GDAL functions when you upgrade or downgrade numpy === 210 210 211 Much of GDAL's Python bindings are implemented in C++. Much of the core of numpy is also implemented in C++. The C++ part of GDAL's Python bindings interacts with the C++ part of numpy through numpy's ABI (application binary interface). This requires GDAL's Python bindings to be compiled using numpy header files that define numpy C++ data structures. Those data structures sometimes change between numpy versions. When this happens, the new version of numpy is not be compatible at the binary level with the old version, and the GDAL Python bindings must be recompiled before they will work with the new verison of numpy. And when they are recompiled, they probably won't work with the old verison.211 Much of GDAL's Python bindings are implemented in C++. Much of the core of numpy is implemented in C. The C++ part of GDAL's Python bindings interacts with the C part of numpy through numpy's ABI (application binary interface). This requires GDAL's Python bindings to be compiled using numpy header files that define numpy C data structures. Those data structures sometimes change between numpy versions. When this happens, the new version of numpy is not be compatible at the binary level with the old version, and the GDAL Python bindings must be recompiled before they will work with the new verison of numpy. And when they are recompiled, they probably won't work with the old version. 212 212 213 213 If you obtain a precompiled version of GDAL's Python bindings, such as the Windows packages from http://vbkto.dyndns.org/sdk/, be sure you look up what version of numpy was used to compile them, and install that version of numpy on your machine.