我已经为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包被编译为按原样工作,因此它可能是以前安装在我的计算机上的其他版本或干扰的残留物。但我不知道如何确定什么是干扰以及存储信息的位置。
我该怎么做才能解决这个问题?
答案 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安装将无法正常工作。参见: