2012-05-07 48 views
2

我已經安裝了用於Windows的OSGeo4W的最新編譯,我想使用各種可用的GDAL工具。當我打開OSGeo4W 命令shell,進入Python和寫ImportError:Python + GDAL - OSGeo4W安裝

> 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軟件包編譯後可以照原樣工作,因此它可能是以前安裝在我的計算機上的其他版本或干擾的殘留。但我不知道如何確定什麼是干擾以及信息存儲在哪裏。

我能做些什麼來解決這個問題?

回答

1

共享庫通常不存儲在發行版的bin子目錄中。嘗試並挖掘OSGeo4W的來源以找到gdal dll文件(gdal.dll ??)。可能它在lib子目錄中。將該路徑也添加到您的環境變量PATH。如果你想檢查其他GDAL安裝,只需開始系統範圍的搜索,你嘗試加載的DLL,看看是否有多個。


我在網上找到的這個錯誤的另一個選擇是,您需要使用隨OSGeo4W附帶的特定Python版本。使用普通的Python 2.7安裝不起作用。請參閱:

+0

那麼文件'gdal15.dll' - 'gdal19.dll'存儲在'OSGeo4W \ bin'中,該文件已經添加到路徑中。我已經通過我的系統進行了搜索,發現了各種'gdal#.dll',但沒有一個位於我的** PATH **中的任何文件夾中。 – Chau

+0

據我所知,我只安裝了OSGeo4W嵌入式Python(2.7.2)。我想知道這與x86/x64有什麼關係? – Chau

+0

您使用的是64位操作系統嗎?而OSGeo4W,是32位還是64位?儘管32位軟件應該在64位操作系統上運行... –

4

時候,那裏已經安裝了蟒蛇的另一個版本出現此問題。

我發現,當我在PATH變量的開頭添加目錄路徑C:\OSGeo4W\bin,並通過OSGEO4W殼跑了蟒蛇,我是能夠導入gdal庫。

+0

完美運作。爲我節省了大量的時間來嘗試其他「修復」。希望它不會影響我的arcgis python! – GeorgeC