2016-12-11 78 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这个错误信息是正常的? –

相关问题