2008-09-19 5 views
11

के लिए पाइथन सी एक्सटेंशन मॉड्यूल बिल्डिंग मेरे पास एक सी एक्सटेंशन मॉड्यूल है और निर्मित बाइनरी वितरित करना अच्छा होगा। Setuptools ओएस एक्स और जीएनयू/लिनक्स पर एक्सटेंशन मॉड्यूल बनाना आसान बनाता है, क्योंकि उन ओएस जीसीसी के साथ आते हैं, लेकिन मुझे नहीं पता कि विंडोज़ में इसे कैसे किया जाए।विंडोज

क्या मुझे विजुअल स्टूडियो की एक प्रति खरीदने की ज़रूरत है, या विजुअल स्टूडियो एक्सप्रेस काम करता है? क्या मैं सिगविन या मिनजीडब्ल्यू का उपयोग कर सकता हूं?

उत्तर

15

आप मिनजीडब्ल्यू और वीसी ++ एक्सप्रेस (मुफ्त, इसे खरीदने की कोई आवश्यकता नहीं) दोनों का उपयोग कर सकते हैं।

देखें:

  1. http://eli.thegreenplace.net/2008/06/28/compiling-python-extensions-with-distutils-and-mingw/
  2. http://eli.thegreenplace.net/2008/06/27/creating-python-extension-modules-in-c/
+0

धन्यवाद। Mingw के साथ एक्सटेंशन संकलन करने के लिए आपकी मार्गदर्शिका पूरी तरह से काम किया। –

+0

अरे बस आपको बताना चाहता था, मैंने # 1 के तहत अपनी मार्गदर्शिका का पालन किया (आलेख के फुटनोट 1 में प्रदान की गई setup.py और hellomodule.c फ़ाइलों का उपयोग करके) और सब कुछ एक आकर्षण की तरह काम करता था। मैं विंडोज एक्सपी 32 बिट, पायथन 2.6 और मिनजीडब्ल्यू 4.5.0 का उपयोग कर रहा हूं। मुझे उस .a/.dll सामान के साथ गड़बड़ नहीं करना पड़ा। धन्यवाद! – oob

+0

यह भी है [यह संदर्भ] (http://blog.victorjabur.com/2011/06/05/compiling-python-2-7-modules-on-windows-32-and-64-using-msvc-2008- व्यक्त /)। –

2

setuptools और distutils जीसीसी के साथ नहीं आते हैं, लेकिन वे एक ही संकलक अजगर के साथ बनाया गया था का उपयोग । अंतर ज्यादातर सामान्य यूनिक्स सिस्टम पर है कि संकलक 'gcc' है और आपने इसे स्थापित किया है।

विंडोज़ पर एक्सटेंशन मॉड्यूल संकलित करने के लिए, आपको विंडोज के लिए एक कंपाइलर की आवश्यकता है। एमएसवीएस, मेरे द्वारा विश्वास किए जाने वाले एक्सप्रेस संस्करण भी करेगा, लेकिन इसे एक ही एमएसवीसी ++ संस्करण होना चाहिए क्योंकि पाइथन के साथ बनाया गया था। या आप सिगविन या मिनजीडब्ल्यू का उपयोग कर सकते हैं; Installing Python Modules का उचित अनुभाग देखें।

+1

मैं इस तथ्य से ठोकर खा रहा हूं कि आप वीएस 2005 या नए का उपयोग नहीं कर सकते हैं, लेकिन आप मिनजीडब्लू (एक पूरी तरह से अलग कंपाइलर!) का उपयोग कर सकते हैं ... –

+0

यह सिर्फ एक सिफारिश है। मैं लगातार उसी वीएस 2013 कंपाइलर के साथ सभी पायथन संस्करण 2.7 से 3.6 के लिए पीवायडी बना रहा हूं और कभी भी कोई समस्या नहीं देखी। –