2010-12-26 18 views
5

पर काम नहीं कर रहा है मैं ctypes आयात करने की कोशिश कर रहा हूं, और मै मैकपोर्ट (मैक ओएस एक्स 10.6 पर) का उपयोग कर पाइथन 2.5.5 स्थापित कर रहा हूं।ctypes आयात python 2.5

मुझे यह कहते हुए एक त्रुटि मिलती है कि "आयात त्रुटि: _ctypes नामक कोई मॉड्यूल नहीं है" (नीचे विवरण देखें)। जैसा कि मैं समझता हूं कि ctypes को अजगर 2.5 के लिए पूर्वस्थापित किया जाना चाहिए। कोई सुझाव?

धन्यवाद, सौरभ

त्रुटि विवरण:

$ python 
Python 2.5.5 (r255:77872, Nov 30 2010, 00:05:47) 
[GCC 4.2.1 (Apple Inc. build 5659)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import ctypes 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/ctypes/\_\_init\_\_.py", line 10, in <module> 
    from _ctypes import Union, Structure, Array 
ImportError: No module named _ctypes 

अद्यतन: मैं /opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload निर्देशिका कोई नेड के जवाब के आधार जाँच की। कोई _ctypes.so फ़ाइल है, लेकिन दो संबंधित फ़ाइलें हैं कि देखते हैं: इसका मतलब मैं ctypes पुनः स्थापित करने की जरूरत है

-rwxr-xr-x 2 root wheel 136176 Nov 30 00:07 _ctypes_failed.so 
-rwxr-xr-x 2 root wheel 26160 Nov 30 00:05 _ctypes_test.so 

करता है?

अद्यतन 2: पाइथन 2.5 को पुनर्स्थापित करने से समस्या हल हो गई। बिल्कुल सही नहीं है कि मूल समस्या का कारण क्या है।

+0

वाह मुझे पता नहीं है कि लोग अभी भी 2.5 का उपयोग करते हैं। – rook

+0

@ लोगों को अभी भी पाइथन 2.4.x का उपयोग करें। –

+0

@ रेड टोपी, सेंटोस पर रुक, कुछ अन्य सर्वर distros यह अभी भी 2.5 या 2.4 के लिए आम है। Google पिछले 2.5 में से कुछ भी नहीं उपयोग करता है (वास्तव में, ऐप इंजन को विकसित करने के लिए आपको 2.5 को लक्षित करना है)। –

उत्तर

1

यह फ़ाइल अनुमति समस्या हो सकती है। मैं एक MacPorts अजगर 2.5 स्थापना काम एक MacPorts अजगर 2.6 के आधार पर नहीं है लेकिन, है, वहाँ इस तरह की एक फ़ाइल कुछ किया जाना चाहिए:

$ cd /opt/local/Library/Frameworks/Python.framework/Versions/2.5 
$ cd ./lib/python2.5/lib-dynload/ 
$ ls -l _ctypes.so 
-rwxr-xr-x 2 root wheel 151536 Oct 8 00:26 _ctypes.so* 

यदि नहीं, का एक ls -l के परिणामों के साथ आपके सवाल का अद्यतन उपरोक्त lib-dynload निर्देशिका।

अद्यतन: अपनी अतिरिक्त जानकारी के आधार पर, _ctypes_failed.so की उपस्थिति का संकेत है कि _ctypes की इमारत का निर्माण और अजगर 2.5 की स्थापना के दौरान विफल रहा है। विफलता क्या है यह देखने के लिए वर्बोज़ मोड के साथ इसे पुनर्स्थापित करने का प्रयास करें:

$ port sudo selfupdate 
$ port -v upgrade --force python25 
0

libffi इंस्टॉल करें, फिर पायथन पुनर्निर्माण करें।

1

पायथन 2.6 के साथ नवीनतम मैक ओएस एक्स जहाजों। मैकपोर्ट के बजाय इसका उपयोग करने का प्रयास करें। आयात करना ctypes पहले से ही मेरे सिस्टम पर काम करता है।

Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import ctypes 
>>>