2016-12-11 80 views
5

l當我嘗試在erdas文檔上學習Building Spatial Models in Python時遇到問題"ImportError: DLL load failed: %1 is not a valid Win32 application"。爲此,我在上使用Pycharm.1我想知道我可以如何解決這個問題?我應該下載Canopy 32位版本,但我的電腦是64位,順便說一句。我已經在我的電腦上安裝了64 bit version of ERDAS,我想知道Erdas 32 bit版本的Imagine模塊能否解決這個問題?DLL加載失敗:%1不是Enthought上的有效Win32應用程序

這裏是示例代碼:

from exampleshelper import dataPath, outputPath 
from imagine import modeler 


m=modeler.Model() 
ri = m.RasterInput(dataPath + "C:/Users/owrasa/PycharmProjects/den/data/lanier.img") 
bandSelect = m.BandSelection(ri, "1:4") 
sumBands = m.StackTotal(bandSelect) 
ro = m.RasterOutput(sumBands, outputPath + "summing-image-layers.img") 
m.Execute() 

這裏是整個錯誤消息:

C:\Users\owrasa\AppData\Local\Enthought\Canopy\User\Scripts\python.exe C:/Users/owrasa/PycharmProjects/den/layerstack.py 
Using example data from C:/Users/owrasa/PycharmProjects/den\..\data\ 
and saving results in C:/Users/owrasa/PycharmProjects/den\..\output\ 
Traceback (most recent call last): 
    File "C:/Users/owrasa/PycharmProjects/den/layerstack.py", line 3, in <module> 
    from imagine import modeler 
    File "C:\Program Files\Intergraph\ERDAS IMAGINE 2014\usr\lib\Win32Release\python\imagine\__init__.py", line 19, in <module> 
    import init 
    File "C:\Program Files\Intergraph\ERDAS IMAGINE 2014\usr\lib\Win32Release\python\imagine\init\__init__.py", line 56, in <module> 
    _initToolkit(); 
    File "C:\Program Files\Intergraph\ERDAS IMAGINE 2014\usr\lib\Win32Release\python\imagine\init\__init__.py", line 51, in _initToolkit 
    import _init 
ImportError: DLL load failed: %1 is not a valid Win32 application. 

Process finished with exit code 1 
+0

術語「Win32」(看到您的回溯)是不明確的(有時與64位相反,有時與舊版本位)版本,在這種情況下,它包括32位和64位)。因爲ERDAS安裝在「程序文件」而不是「Program Files(X86)」中,所以您可能安裝了64位ERDAS,在這種情況下,通過安裝Canopy 32位無法解決問題。 –

+0

所以我需要32位erdas python模塊來運行代碼沒有錯誤,對吧? –

+0

對不起,不,我不是這個意思。我會在接下來的幾天裏再試一次。你也可以在這個問題上標記erdas。 –

回答

0

你試圖加載32位DLL到64位應用程序,這就是錯誤是關於。將模塊「轉換」爲32位的唯一方法是從源代碼重新編譯

+0

Python 2.7.12(v2.7.12:d33e0cf91556,Jun 27 2016,15:19:22)[MSC v.1500 32 bit(Intel)] on win32,when l check the version.so my python is 32 bit,still這個錯誤信息是正常的? –

相關問題