मैं इन अन्य दो सवाल का एक ही त्रुटि हो रही है: ImportError: dynamic module does not define init function, but it does और Cython compiled C extension: ImportError: dynamic module does not define init functionपायथन में गतिशील मॉड्यूल का init फ़ंक्शन क्या है?
लेकिन उनकी समाधान बराबर नहीं हैं, और मेरे लिए भी काम नहीं किया।
मैं अपने पायथन प्रोग्राम के अंदर सी में लिखी गई साझा लाइब्रेरी के कार्यों को कॉल करने का प्रयास कर रहा हूं।
मैं इस तरह किसी को अपने साझे lib संकलित:
gcc -shared -Wl,-soname,playfaircrack.so -o playfaircrack.so -fPIC playfaircrack.c scoreText.o
मैं एक मॉड्यूल बनाया है, और इस मॉड्यूल के अंदर मैं के साथ इस lib लोड:
cracker = ctypes.cdll.LoadLibrary('./playfaircrack.so')
लेकिन जब मैं कोड चलाने के लिए, मैं निम्न त्रुटि:
Traceback (most recent call last):
File "playfair.py", line 2, in <module>
import playfaircrack
ImportError: dynamic module does not define init function (initplayfaircrack)
जो बहुत अजीब है, क्योंकि अगर मैं पाइथन दुभाषिया चलाता हूं, और डीआईआर कॉल करता हूं ectly:
cracker = ctypes.cdll.LoadLibrary('./playfaircrack.so')
मैं अपने साझा lib के कार्यों तक पहुंच सकता हूं।
कोई विचार यह कैसे हल करें? धन्यवाद।
ठीक है। मैं बस ऐसा नहीं कर सकता क्योंकि प्लेफेयर मुख्य कार्यक्रम है, और playfaircrack मुख्य कार्यक्रम से बुलाया जाने वाला एक मॉड्यूल है। –
उत्तर अद्यतन किया गया। एक ही नाम के साथ दो मॉड्यूल काम नहीं करते हैं। –
कभी ऐसा कुछ नहीं हुआ। इसने काम कर दिया। धन्यवाद :) –