2016-12-11 14 views
5

एल पर एक वैध Win32 अनुप्रयोग नहीं है, "ImportError: DLL load failed: %1 is not a valid Win32 application" समस्या में चलाया गया है जब मैं erdas दस्तावेज़ पर Building Spatial Models in Python सीखने का प्रयास करता हूं। इसके लिए, मैं Enthought Canopy (64-bit)Pycharm पर उपयोग कर रहा हूं। मैं यह जानना चाहता हूं कि इस समस्या को कैसे हल किया जा सकता है? मुझे Canopy 32 बिट संस्करण डाउनलोड करना चाहिए, लेकिन मेरा पीसी 64 बिट है, जिस तरह से मेरे पास पीसी पर 64 bit version of ERDAS स्थापित है और मुझे आश्चर्य है कि Erdas 32 bit संस्करण Imagine मॉड्यूल इस समस्या को हल कर सकता है?डीएलएल लोड विफल:% 1 एन्थॉट

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-बिट के विपरीत होता है, कभी-कभी पुराने (16) -बीटी) संस्करण, इस मामले में इसमें 32-बिट और 64-बिट दोनों शामिल हैं)। चूंकि "प्रोग्राम फ़ाइलें (X86)" की बजाय "प्रोग्राम फ़ाइलें" में ईआरडीएएस स्थापित है, ऐसा लगता है कि आपके पास 64-बिट ईआरडीएएस स्थापित है, इस स्थिति में समस्या को कैनोपी 32-बिट स्थापित करके हल नहीं किया जाएगा। –

+0

इसलिए मुझे त्रुटि के बिना कोड चलाने के लिए 32 बिट erdas पायथन मॉड्यूल की आवश्यकता है, है ना? –

+0

क्षमा करें, नहीं, मेरा मतलब यह नहीं था। मैं अगले कुछ दिनों में इसे फिर से देखने की कोशिश करूंगा। आप इस प्रश्न पर भी erdas टैग करना चाह सकते हैं। –

उत्तर

0

आप लोड करने के लिए एक 32 बिट एक 64 बिट्स आवेदन में DLL कोशिश कर रहे हैं, कि क्या त्रुटि है के बारे में है। 32 मॉड्यूल में अपने मॉड्यूल को "कन्वर्ट" करने का एकमात्र तरीका स्रोत

+0

पायथन 2.7.12 (v2.7.12: d33e0cf91556, 27 जून 2016, 15:19:22) [एमएससी v.1500 32 बिट (इंटेल)] Win32 पर, जब मैं संस्करण की जांच करता हूं। तो मेरा अजगर 32 बिट है, फिर भी यह त्रुटि संदेश सामान्य है ?? –

संबंधित मुद्दे