在Windows上使用Python安装GDAL?


92

谁能解释如何在Windows上使用Python安装GDAL / OGR?

我使用Windows Vista,并且尝试按照网站上的信息进行操作,但似乎没有为我绑定exe文件。

有人可以描述该过程,包括指向我需要的文件/文件夹的链接吗?

我现在尝试使用minGW运行gdal设置,但这也失败了:

GDAL_FAIL

Answers:


63

除非您有充分的理由,否则我绝对建议您从OSGeo4W安装程序开始,该安装程序可以安装多个不同版本的GDAL及其相关的Python绑定。它工作得很好,并且极大地简化了Windows部署的过程。具体来说,您将要安装pkg-gdal-python,它位于安装程序树的'Libs'中。


8
因此,我使用OSGeo4W安装程序安装了gdal,然后尝试了其小的命令行界面,但是在python中仍然无法执行以下操作:import gdal
GuidoS 2010年

7
OSGEO4W在OSGEO4W根目录下安装它自己的Python实例。要使用包含gdal和所有其他OSGEO模块的Python,请打开OSGEO4W shell开始>程序文件> osgeo4w。启动Python或从那里运行Python脚本。
DavidF 2010年

8
试试from osgeo import gdal
DavidF

3
@scw,请考虑将评论中的示例汇总到您的答案中。它将使将相关信息组合成一个有凝聚力的整体变得更加容易(部分原因是因为能够保留代码格式)。对您用来评论和确认来源的评论进行投票。
马特·威尔基

6
有没有办法从我的主python外壳中使用“ from osgeo import gdal”,而不是使用OSGEO的外壳?
亚历克西斯·埃格蒙特

58

您可以从Christoph Gohlke的Python扩展软件包的非官方Windows二进制文件下载GDAL wheel 软件包

可以使用以下命令从cmd.exe安装:

c:\Python27\Scripts\pip.exe install GDAL-X.Y.Z-cp27-none-win_XYZ.whl

(您应该使用类似的命令从同一位置安装NumPy

虽然该软件包不是由OSGeo或GDAL开发人员构建的,但它是高质量的发行版,并支持针对32位和64位版本的Python编译的GDAL最新版本。无需添加或管理外部库!

更新它甚至会设置GDAL_DATA环境变量(如果未设置),并包括一个PostgreSQL从PostGIS读取数据的驱动程序。


2
+1我发现该页面是64位Windows的Python发行版的宝贵来源
geographika,

1
我无法安装此安装程序,因为它无法检测到我的python安装。我安装了python26和python27,C:/Python2X但找不到它。...没关系!选择64位的而不是32 ....
DJQ

这对我来说比接受的答案容易得多,因为我不想再安装Python和Numpy。
Ahmed Fasih 2014年

这些行现在包括在安装中。
Barbarossa

感谢@Barbarossa,我已经更新了此答案以反映软件包的当前状态。
Mike T

15

另一个选择是安装具有GDAL软件包的Anaconda Python发行版。如果要使用GDAL和其他Python软件包(scipy,pandas,scikit-learn等)进行大量工作,则这可能比OSGeo4W更好。另一方面,如果您想将Python与许多开源遥感和GIS软件包(GRASS,QGIS等)结合使用,则OSGeo4W可能是更好的选择。

您可以从以下网址获得完整的Anaconda发行版:https : //www.continuum.io/downloads,其中包含许多针对“数据科学”的Python软件包,或者从http://conda.pydata.org/miniconda进行了最小安装。 html

作为安装的一部分,它将提示您添加到主路径(因此可从任何终端使用)。

设置完成后,可以使用以下方法将GDAL安装到新环境中:

conda create -n gdal_env -c conda-forge gdal

然后,在命令完成后按如下所示激活它。建议安装到新环境中,以避免与其他软件包冲突,并确保设置了所需的环境变量。

我建议从conda-forge频道(https://conda-forge.github.io/)安装,因为它们非常积极地保持GDAL的更新,并确保它们可与许多库一起使用。

使用以下方法可以从环境中更新安装的软件包之后:

conda update gdal

1
这绝对是最简单的方法,尤其是如果您打算安装其他复杂的Python软件包(例如scikit-learn,numpy)
bgordon

1
这很棒!特别好的b / c,您可以通过命令行以及python来运行它。
mmann1123 '18

也可以通过转到“环境”并选择要使用的环境来安装它。然后在“所有”软件包中搜索“ gdal”
Goncalo Peres


9

我发现OSGEO4W是一个糟糕的解决方案,因为它创建了一个完整的并行Universe,就像虚拟机一样。我能够按照这里概述的步骤安装GDAL并在python中使用它(这是@ sys49152提供的链接)。

它会将您发送到gisinternals.com。转到“稳定发行版”链接以访问:http : //www.gisinternals.com/release.php

现在,您必须在32位和64位以及不同的Microsoft Visual C ++编译器版本之间进行选择。请注意,这必须匹配您的python版本,而不是您的操作系统。就我而言,我有一个64位窗口,但有一个32位python 2.7(ArcGIS附带)。

要查看所拥有的内容,可以在命令行上运行python并显示以下消息:

C:\>python
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

所以我需要使用“ release-1500”

我选择了: MSVC 2013/win32 release-1500-gdal-1-11-3-mapserver-6-4-2

(内部版本号会随着时间而变化)

我首先下载并安装了“ GDAL核心组件的通用安装程序”: gdal-111-1500-core.msi

并按此处所述添加路径和其他变量。

添加到路径:C:\Program Files (x86)\GDAL 创建环境变量: GDAL_DATA = C:\Program Files (x86)\GDAL\gdal-data GDAL_DRIVER_PATH = C:\Program Files (x86)\GDAL\gdalplugins

然后,我下载并安装了python 2.7的python模块 GDAL-1.11.3.win32-py2.7.msi

之后,在python中,我能够

from osgeo import gdal
ds = gdal.Open('file.tif')

等等


很好的逐步记录。谢谢。
Cotton.Rockwood '16

6

我知道提到过OSGEO安装程序,但是正如GuidoS所说的,除非您在osgeow shell上,否则它是行不通的,如果您所做的只是基本的python,那就很好了。如果不是这样,您可能必须重新安装软件包,然后必须从该文件夹运行应用程序/插件,或者必须编译gdal的所有依赖项并重新安装。

对我有用的是:

  • 在PyDev / Eclipse(不是我的主要IDE)中,我将库列表添加到默认的python解释器中
  • 使用内置的控制台运行文件

3
您可以将o4w python设置为系统默认python,例如,将其添加到系统注册表中,使其对所有内容均可用。在trac.osgeo.org/osgeo4w/ticket/114(必须手动添加64bit)的32位Windows上有一个用于执行此操作的python脚本。
马特·威尔基


5

它确实不那么难做。在使用Visual Studio之前,我已经对其进行了无数次编译。只需按照此处的指示进行操作即可:链接文本

这非常简单,只需阅读文档齐全的makefile.vc并设置适当的目录,尤其是Python目录即可。构建完成后,您应该构建一个Python模块,然后可以将其复制到您的Python安装中,尽管我通常都是手工完成的,但是可能有更合适的方法。


5

@SCW和@Mike Toews给出的两个最佳答案很好。Mike列出的站点适用于非官方二进制文件-当64位GDAL尚不可用时(按他撰写答复的时间),此功能非常有用,但现在已经存在了一段时间。我在这里添加了这个替代答案,因为尽管我已经多次提到它,但它仍在不断涌现,这个Wiki可能是放置它的更好位置。

如果您只想在Windows机器上安装Python的GDAL二进制文件,我会从出色的GIS内部网站获得安装程序。该站点从GDAL / OGR Binaries官方页面链接。这使您可以通过普通的Python安装访问GDAL,而无需使用osgeow shell。此处的二进制文件会定期维护并针对各种版本的Visual Studio进行编译(因此,请根据已安装的运行时进行选择)。


在同一台计算机上安装多个MSVC运行时根本没有问题。如果您需要像ECW和MrSid这样的特殊驱动程序,请注意在不同的MSVC平台下编译的机会不同。只需点击information链接,即可看到不同之处。
AndreJ


2

我在Windows XP中使用FWTools。它包括带有GDAL库的Python安装。安装后,只需从FWTools Shell运行您的Python脚本。


1
FWTools当时是一个很好的工具,但是从那以后一直没有更新。我建议切换到仍在积极维护的gisinternlas。
AndreJ


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.