2016-01-13 3 views
5

wxPython के साथ (नवीनतम) पर ओएस एक्स शेर, में दुभाषिया परिणामों में import wx करने की कोशिश स्थापित:wxPython: "कोई उचित 64-बिट वास्तुकला" त्रुटि भले ही 32-बिट प्राथमिकता सेट

File "wx/__init__.pyc", line 45, in <module> 
    File "wx/_core.pyc", line 4, in <module> 
    File "wx/_core_.pyc", line 18, in <module> 
    File "wx/_core_.pyc", line 11, in __load 
ImportError: /Users/Pyderman/Downloads/e30356784638/dist/Program.app/Contents/Resources/lib/python2.6/lib-dynload/wx/_core_.so: no appropriate 64-bit architecture 

तो निम्नलिखित man python द्वारा दिए गए निर्देशों का, मैं सेट:

export VERSIONER_PYTHON_PREFER_32_BIT=yes 

और फिर wx कार्यों के आयात (दुभाषिया में)। फिर भी जब मैं प्रोग्राम को ओएस एक्स ऐप में py2app का उपयोग करके बंडल करता हूं, तो त्रुटि फिर से होती है, भले ही मैं उसी टर्मिनल में ऐप लॉन्च करने का प्रयास कर रहा हूं, जहां मैंने पर्यावरण चर को 32 बिट पसंद करने के लिए सेट किया है।

मुझे लगता है कि किसी भी तरह py2app "पता" नहीं है कि 32-बिट को प्राथमिकता दी जाती है? लेकिन कैसे, और यह कैसे लागू या नियंत्रित किया जा सकता है?

+1

मुझे यह लिंक मिला और ऐसा लगता है कि यह चाल है। [32 बिट मोड में ऐप चलाने के लिए py2app को कैसे बल दें] (http://stackoverflow.com/questions/7472301/how-to-force-py2app-to-run-app-in-32-bit-mode) –

+0

धन्यवाद । अभी तक उस पोस्ट में सुझाए गए प्रस्तावित समाधानों में से किसी एक को आजमाएं, लेकिन आप आगे बढ़ सकते हैं और एक उत्तर सबमिट कर सकते हैं और मैं इसे चुनूंगा। – Pyderman

उत्तर

0

मुझे क्या स्टीव सी ने कहा कि पर थोड़ा विस्तार करते हैं ... आसान समाधान 32 बिट केवल अजगर वेबसाइट से अजगर स्थापित करने के लिए किया जाएगा के रूप में नेड पता चलता है here

एक थोड़ा अधिक कठिन रास्ता लेकिन शायद अधिक कुशल दीर्घकालिक आर्किटेक्चर प्रकार को 32 बिट तक सेट करना होगा जैसे कि फिविटर सुझाव देता है। यह i386 आर्किटेक्चर के अलावा सबकुछ हटा देता है, इसलिए यह उन किसी भी 64 बिट संस्करणों को लोड करने का प्रयास नहीं करेगा। fviktor से

डिट्टो स्रोत:

ditto --rsrc --arch i386 YourApplication.app YourApplicationStripped.app 

के रूप में यह उल्लेख किया सभी गैर 32 बिट "सामान" जो बदले में पैकेज आकार को कम करती है और यह एक 64 बिट वास्तुकला लोड करने का प्रयास कभी नहीं होगा सुनिश्चित करता है निकालता है।

यदि आप 32 और 64 बिट आर्किटेक्चर उपलब्ध करना चाहते हैं तो आप 32 बिट प्राथमिक होने के लिए आर्किटेक्चर की प्राथमिकता निर्धारित कर सकते हैं। ऐसा करने के लिए Info.plist जो Py2App द्वारा बनाया गया है। यहां आपके पास 4 विकल्प हैं, पीपीसी जो 32 बिट पावरपीसी आर्किटेक्चर है, i386 (अधिक सामान्यतः मुझे विश्वास है) 32 बिट आर्किटेक्चर, और फिर दो अलग-अलग 64 बिट आर्किटेक्चर, x86_64 और ppc64।

आपके अधिकांश प्रश्नों का उत्तर here पर दिया जा सकता है, लेकिन मेरा मानना ​​है कि यह इतना अलग है कि इससे भविष्य में क्या हो रहा है, यह बेहतर ढंग से समझने में मदद कर सकता है।

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