【问题标题】:ImportError: Python + GDAL - OSGeo4W installationImportError: Python + GDAL - OSGeo4W 安装
【发布时间】:2012-05-07 11:17:57
【问题描述】:

我已经为 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 包已编译为按原样工作,因此它可能是以前安装在我的计算机上的其他版本或干扰的残留物。但我不知道如何确定干扰的内容以及该信息的存储位置。

我可以做些什么来解决这个问题?

【问题讨论】:

    标签: python windows-7-x64 gdal osgeo


    【解决方案1】:

    当安装了其他版本的 python 时会出现此问题。

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

    【讨论】:

    • 完美运行。为我节省了大量尝试其他“修复”的时间。希望它不会影响我的 arcgis python!
    【解决方案2】:

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


    我在网上找到的针对此错误的另一个选项是您需要使用 OSGeo4W 附带的特定 Python 版本。使用普通的 Python 2.7 安装将不起作用。见:

    【讨论】:

    • 那么文件gdal15.dll - gdal19.dll 存储在OSGeo4W\bin 中,该OSGeo4W\bin 已添加到路径中。我搜索了我的系统并找到了各种gdal#.dll,但它们都没有位于我的 PATH 中的任何文件夹中。
    • 据我所知,我只安装了 OSGeo4W 嵌入式 Python (2.7.2)。我想知道这是否与x86/x64有关?
    • 您使用的是 64 位操作系统吗? OSGeo4W 是 32 位还是 64 位?虽然 32 位软件应该在 64 位操作系统上运行...
    • 看起来 OSGeo4W 包是针对 x86 的,osgeo 网站 上只有一个安装程序。是的,我使用的是 Windows 7 x64。
    • 或许可以在 OSGeo 的邮件列表中发布问题。
    猜你喜欢
    • 2017-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-30
    • 1970-01-01
    相关资源
    最近更新 更多