ImportError:Python + GDAL - OSGeo4W安装

时间:2012-05-07 11:17:57

标签: python windows-7-x64 gdal osgeo

我已经为Windows安装了最新的OSGeo4W编译器,我想使用各种可用的GDAL工具。当我打开OSGeo4W 命令shell 时,输入Python并写入

> from osgeo import gdal

我收到以下错误:

> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "C:\OSGeo4W\apps\Python27\lib\site-packages\osgeo\__init__.py", line 21,
> in <module>
>     _gdal = swig_import_helper()
>   File "C:\OSGeo4W\apps\Python27\lib\site-packages\osgeo\__init__.py", line 17,
> in swig_import_helper
>     _mod = imp.load_module('_gdal', fp, pathname, description)
> ImportError: DLL load failed: The operating system cannot run %1.

我的 PATH 包含以下OSGeo4W条目:

> C:\OSGeo4W\bin
> C:\OSGeo4W\\apps\msys\bin
> C:\OSGeo4W\\apps\Python27\Scripts

根据我在网上看到的内容,此错误可能与版本不兼容有关。我假设OSGeo4W包被编译为按原样工作,因此它可能是以前安装在我的计算机上的其他版本或干扰的残留物。但我不知道如何确定什么是干扰以及存储信息的位置。

我该怎么做才能解决这个问题?

2 个答案:

答案 0 :(得分:4)

安装了另一个版本的python时会出现此问题。

我发现当我在C:\OSGeo4W\bin变量的开头添加目录路径到PATH,并通过OSGEO4W shell运行python时,我能够导入{ {1}}图书馆。

答案 1 :(得分:1)

共享库通常不存储在发行版的bin子目录中。尝试挖掘OSGeo4W的源代码以找到gdal dll文件(gdal.dll ??)。可能它位于lib子目录中。将该路径也添加到PATH环境变量中。如果您想检查其他GDAL安装,只需启动系统搜索您尝试加载的DLL,并查看是否有多个。


我在网上发现此错误的另一个选项是您需要使用OSGeo4W附带的特定Python版本。使用普通的Python 2.7安装将无法正常工作。参见: