导入错误:找不到名为gdal的模块。

19

当我尝试从命令行使用".py"函数时,我的GDAL表现出奇怪的行为:

1. 例如,当我运行gdalinfo --version时,我得到标准响应:

GDAL 1.11.3, released 2015/09/16

2. 当我运行gdalwarp时,我得到标准响应,显示给我所有的标志和内容。

3. 问题: 然而,当我运行带有.py扩展名的gdal函数,例如gdal_polygonize.py,我会得到以下反馈:

Traceback <most recent call last>:
    File "C:\OSGeoW64\bin\gdal_polygonize.py", line 36, in <module>
    import gdal, ogr, osr
ImportError: No module named gdal

我检查了我的Path变量,重新安装了Python和GDAL,但什么也没用。 当我从QGIS运行gdal_polygonize.py函数时,它可以正常工作。但我无法从命令行中使用它。


2
请确保您的PYTHONPATH已设置为安装库的位置。 - Serbitar
@Serbitar:我猜你指的是包含“gdal_polygonize.py”函数的文件夹?在我的情况下,那就是C:\OSGeo4W64\bin,但它仍然无法正常工作。 - maRtin
尝试打印出 sys.path 并检查 gdal 是否存在于其中。 - sameera sy
@samera:sys.path 返回一些目录以及 "C:\OSGeo4W64\bin"。 - maRtin
1
可能是这样。我实际上不知道gdal是什么。 - Serbitar
显示剩余2条评论
2个回答

16
GDAL由两部分组成:GDAL实用工具(如gdalinfogdalwarp等)和GDAL Python绑定(当您在Python脚本中调用from osgeo import gdal时)。这两个部分可以分别安装。
如果您在命令行中“看到”gdalwarp,则意味着您的PATH(环境变量)中有该实用程序的位置。其中一些实用程序是自包含的,而另一些则需要Python绑定(特别是那些需要调用.py文件的实用程序)。为了使Python绑定正常工作,GDAL必须在PYTHONPATH环境变量中。
找到GDAL文件夹(将包含gdalwarp)。在Python的Lib/site-packages中找到osgeo文件夹。将这两个位置都添加到PATH和PYTHONPATH中。现在您应该能够在一个新的Python shell中使用from osgeo import gdal
如果不能,请检查这些位置是否缺少某些文件(安装不正确),或者您没有正确指定路径/设置正确的环境变量。这里没有其他魔法,要么已正确安装和链接,要么您做错了什么。
请注意,要使环境变量设置和工作,您需要“应用/确认”环境变量窗口,并在新的命令提示符/Python shell中启动。

-4

请确保您安装了conda版本的gdal。在我安装了来自conda的版本之前,我从未真正使gdal正常工作。请确保您拥有Anaconda Python发行版。https://www.continuum.io/downloads


Conda只是众多选择之一,而且它不是标准(PyPy仓库[pip等]才是标准)。pip版本完全可以正常工作。 - Shayne

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接