2012-03-10 11 views
7

मैं विंडोज़ पर बहुत सारे पायथन सीखने की कोशिश कर रहा हूं और इसमें कई पैकेज इंस्टॉल करना शामिल है, हालांकि हर बार जब मैं python setup.py इंस्टॉल करता हूं तो मुझे gcc के लिए -मोनो-सिग्विन के साथ समस्या है।पायथन: -मोनो-सिग्विन

मैंने पहले से ही बहुत सारे लेख पढ़ लिए हैं और ऐसा लगता है कि वे चाहते हैं कि ये व्यक्तिगत पैकेज अपने स्वयं के निर्माण पर फिक्स के लिए प्रतीक्षा करें।

क्या कोई मुझे सिर्फ एक जीसीसी संस्करण प्रदान कर सकता है जिसे मैं अभी भी समर्थन कर सकता हूं- mno -cygwin ताकि मैं उन क्षेत्रों का अध्ययन करने जा सकूं जिन पर मैं ध्यान केंद्रित करना चाहता हूं?

धन्यवाद!

+1

बहिष्कृत -मो-सिग्विन विकल्प जीसीसी 4.7.0 में हटा दिया गया था। अधिक जानकारी के लिए [यह प्रश्न] देखें (http://stackoverflow.com/questions/6034390/compiling-with-cython-and-mingw-produces-gcc-error-unrecognized-command-line-o)। –

उत्तर

18

मुझे यह समस्या भी थी, और यह पायथन कोड में एक बग है। इसे ठीक करने के लिए मुझे मिला एकमात्र तरीका फ़ाइल C:\Python27\Lib\distutils\cygwinccompiler.py संपादित करना था।

इस फ़ाइल में आपको -mno-cygwin के हर अवसर को हटा देना होगा।

एमजीजी के माध्यम से जीसीसी के लिए भी यही है।

self.set_executables(compiler='gcc -mno-cygwin -O -Wall', 
         compiler_so='gcc -mno-cygwin -mdll -O -Wall', 
         compiler_cxx='g++ -mno-cygwin -O -Wall', 
         linker_exe='gcc -mno-cygwin', 
         linker_so='%s -mno-cygwin %s %s' 
            % (self.linker_dll, shared_option, 
             entry_point)) 

:

+0

बस इसे स्पष्ट करने के लिए, 'Mingw32CCompiler .__ init__' में, केवल चार घटनाएं होनी चाहिए। फिक्स विश्वसनीय होना चाहिए। – brianmearns

1

मैं एक ही समस्या है जो C:\Python27\Lib\distutils\cygwinccompiler.py

यानी

मूल कोड में "-mno-cygwin" के साथ "स्ट्रिंग के उदाहरण से बदलकर इसे ठीक कर दिया गया है" था अपडेट किया गया कोड:

self.set_executables(compiler='gcc "" -O -Wall', 
         compiler_so='gcc "" -mdll -O -Wall', 
         compiler_cxx='g++ "" -O -Wall', 
         linker_exe='gcc ""', 
         linker_so='%s "" %s %s' 
            % (self.linker_dll, shared_option, 
             entry_point)) 

कौन सा संस्करण जीसीसी संकलक आपको करता है उपयोग? यदि आप जीसीसी 3.4.4 का उपयोग करते हैं तो आपको यह समस्या नहीं मिलेगी अन्यथा आपको विशेष रूप से जीसीसी 4.3.7 के लिए ऊपर वर्णित रिक्त उद्धरणों के साथ "-मोनो-साइगविन" स्ट्रिंग को प्रतिस्थापित करने की आवश्यकता है।