2009-09-10 20 views
15

मैं पाइथन का अध्ययन करना शुरू कर रहा हूं, और अब मुझे यह बहुत पसंद है। लेकिन, आप सिर्फ मेरे लिए कुछ सवाल, जो मुझे परेशान कर दिया जवाब दे अगर, और मैं उन्हें किसी भी निश्चित जवाब नहीं मिल सकता है:पायथन - आयरनपीथन डिलिमा

  1. पायथन के सी कार्यान्वयन (मुख्य संस्करण से बीच क्या संबंध है python.org) और आयरनपीथन, भाषा संगतता के संदर्भ में? क्या यह वही भाषा है, और क्या मैं एक सीखकर कर सकता हूं, आसानी से दूसरे पर जा सकता हूं, या जावा जावास्क्रिप्ट के लिए है?

  2. IronPython के पुस्तकालयों के लिए वर्तमान स्थिति क्या है? यह सीपीथॉन पुस्तकालयों के पीछे कितना है? मैं ज्यादातर numpy/scipy और f2py में रुचि रखते हैं। क्या वे आयरनपीथन के लिए उपलब्ध हैं?

  3. पायथन से वीबी तक पहुंचने का सबसे अच्छा तरीका और दूसरी तरफ से एक्सेल के वीबीए को कुछ पाइथन पुस्तकालयों को जोड़ने के लिए सबसे अच्छा तरीका क्या होगा?

+0

CPython IronPython की तुलना में अधिक एक्सेल पुस्तकालयों है: xlrd, xlutils, xlwt, openpyxl, pycel, pyxll, datanitro, xlwings, ExcelPython, EXPY – denfromufa

उत्तर

1

1) सीपीथन और आयरनपीथन द्वारा लागू की गई भाषा समान है, या अधिकतर संस्करण या दो अलग-अलग हैं। यह जावा और जावास्क्रिप्ट की स्थिति की तरह कुछ भी नहीं है, जो कुछ हड्डी के नेतृत्व वाले विपणन निर्णय द्वारा समान नाम दिए गए दो पूरी तरह से अलग भाषाओं हैं।

2) सी (जैसे numpy) में लागू तृतीय पक्ष पुस्तकालयों का मूल्यांकन सावधानीपूर्वक किया जाना चाहिए। आयरनपीथन में सी एक्सटेंशन निष्पादित करने की सुविधा है (मैं नाम भूल जाता हूं), लेकिन कई नुकसान हैं, इसलिए आपको प्रत्येक लाइब्रेरी के रखरखाव

3) के बारे में कोई जानकारी नहीं है।

0
  1. सीपीथॉन सी द्वारा इसी प्लेटफ़ॉर्म, जैसे विंडोज, लिनक्स या यूनिक्स के लिए लागू किया गया है; आयरनपीथन सी # और विंडोज नेट फ्रेमवर्क द्वारा कार्यान्वित किया जाता है, इसलिए यह केवल विंडोज प्लेटफॉर्म पर नेट फ्रेमवर्क के साथ ही चलाया जा सकता है। ग्रामा के लिए, दोनों समान हैं। लेकिन हम यह नहीं कह सकते कि वे एक ही भाषा हैं। जब आप विंडोज प्लेटफॉर्म पर विकसित होते हैं तो आयरनपीथन मूल रूप से नेट फ्रेमवर्क का उपयोग कर सकते हैं।
  2. अब तक, 21 जुलाई 200 9 - आयरनपीथन 2.0.2, आयरनपीथन की हमारी नवीनतम स्थिर रिलीज जारी की गई थी। आप http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython देख सकते हैं।
  3. आप आयरनपीथन द्वारा नेट फ्रेमवर्क फ़ंक्शन के साथ वीबी तक पहुंच सकते हैं। इसलिए, यदि आप आयरनपीथन को मास्टर करना चाहते हैं, तो आप बेहतर सीखेंगे। नेट फ्रेमवर्क।
+2

"इसलिए यह केवल नेट फ्रेमवर्क के साथ विंडोज प्लेटफार्म पर चला सकते हैं" सही नहीं है। मोनो प्रोजेक्ट, आयरनपीथन के लिए धन्यवाद, और वास्तव में, किसी भी .NET एप्लिकेशन (जैसे सी #), विंडोज के अलावा मैक या लिनक्स जैसे किसी भी समर्थित प्लेटफ़ॉर्म पर चलाया जा सकता है। – nilamo

+0

यह वास्तव में सच नहीं है कि प्रत्येक .NET एप्लिकेशन मोनो पर चल सकता है। संभावित मुद्दों का पता लगाने के लिए एमओएमए पर एक नज़र डालें: http://www.mono-project.com/MoMA –

18

1) आयरनपीथन और सीपीथन लगभग समान भाषा वाक्यविन्यास साझा करते हैं। उनके बीच बहुत कम अंतर है। संक्रमण छोटा होना चाहिए।

2) आयरनपीथन में पुस्तकालय सीपीथन से बहुत अलग हैं। पायथन पुस्तकालय काफी पीछे हैं - सीपीथॉन-सुलभ पुस्तकालयों में से कुछ ही आयरनपीथन के तहत काम नहीं करेंगे (वर्तमान में)। हालांकि, आयरनपीथन के पास संपूर्ण .NET Framework के लिए स्वच्छ, सीधी पहुंच है, जिसका अर्थ यह है कि इसमें सबसे व्यापक पुस्तकालयों में से एक है जो इसके लिए आसानी से सुलभ है, इसलिए कई मायनों में, यह सीपीथन से बहुत दूर है। कुछ numpy/scipy पुस्तकालय IronPython में काम नहीं करते हैं, लेकिन .NET कार्यान्वयन के कारण, कुछ कार्यक्षमता आवश्यक नहीं है, क्योंकि perf। विशेषताएं अलग हैं।

3) एक्सेल वीबीए एक्सेस करना आयरनपीथन का उपयोग करना आसान होगा, अगर आप इसे वीबीए से कर रहे हैं। यदि आप एक्सेल स्वचालित करने की कोशिश कर रहे हैं, तो आयरनपीथन अभी भी आसान है, क्योंकि आपके पास एक्सेल प्राथमिक इंटरऑप असेंबली तक पहुंच है, और सी # और वीबी.नेट के समान पुस्तकालयों का उपयोग करके इसे स्वचालित रूप से स्वचालित कर सकते हैं।

+0

अब तक का सबसे अच्छा जवाब। +1 – Vadim

+1

+1, लेकिन निष्पक्ष होना करने के लिए, ctypes कि सभी CLR करने के लिए IronPython पुल से उपयोग करने के लिए अलग नहीं है, इसलिए वे unwrapped बाहरी पुस्तकालयों के लिए इसी तरह की पहुंच है। –

+0

क्या आप जानते हैं कि ऐड-इन का उपयोग करके आयरनपीथन के साथ Excel को स्वचालित करने का कोई तरीका है या नहीं? मैं वीएसटीओ प्राप्त करने के लिए पूर्ण विजुअल स्टूडियो के भुगतान के बिना उपयोगकर्ताओं को वितरित करने के लिए इस तरह कुछ ऐड-इन्स विकसित करना चाहता हूं। – oob

11

पायथन के सी कार्यान्वयन (मुख्य python.org से संस्करण) और IronPython के बीच के रिश्ते, भाषा अनुकूलता के संदर्भ में क्या है? क्या यह वही भाषा है, और क्या मैं एक सीखकर, आसानी से पर क्रॉस करने में सक्षम हो सकता हूं, या जावा यह जावास्क्रिप्ट है?

समान भाषा (अब के लिए 2.5 स्तर पर - आयरनपीथन 2.6 अभी तक AFAIK नहीं है)।

आयरनपीथन के पुस्तकालयों की वर्तमान स्थिति क्या है? कितना है यह सीपीथॉन पुस्तकालयों के पीछे है? मैं अधिकतर numpy/scipy और f2py में रूचि रखता हूं। क्या वे आयरनपीथन पर उपलब्ध हैं?

मानक पुस्तकालय आज के आयरनपीथन में एक महान राज्य में हैं, जो आपके द्वारा उल्लेख किए जाने वाले विशाल तृतीय पक्ष एक्सटेंशन हैं। numpy के ironclad को संभव धन्यवाद प्राप्त करने के लिए शुरू करने के लिए, लेकिन numpy के रूप में नहीं उत्पादन स्तर के IronPython से है (जैसा कि ironclad, & ग के लिए 0.5 संस्करण संख्या ने भी देखा)। scipy सी-कोडेड और फोरट्रान-कोडित एक्सटेंशन से भरा विशाल और विशाल और चौंकाने वाला है: मेरे पास पहले हाथ का अनुभव नहीं है, लेकिन मुझे लगता है कि आधे से भी कम भाग भी कम होगा, सीपीथॉन को छोड़कर किसी भी कार्यान्वयन के तहत, कम से कम चलना होगा।

क्या अजगर से वीबी उपयोग करने के लिए सबसे अच्छा तरीका है और वापस दूसरे रास्ते ( Excel के VBA के लिए कुछ अजगर पुस्तकालयों को जोड़ने, सटीक होना करने के लिए) हो सकता है?

आयरनपीथन को .NET दृष्टिकोण के माध्यम से इसे आसान बनाना चाहिए, लेकिन सीपीथन अब तकमें COM कार्यान्वयन के माध्यम से नहीं है।

अंतिम लेकिन कम से कम नहीं, सभी माध्यमों से IronPython in Action पुस्तक देखें - जैसा कि मैंने हर बार जब मैं इसे अनुशंसा करता हूं, मैं पक्षपातपूर्ण हूं (इसके लिए एक तकनीकी समीक्षक होने और एक लेखक के साथ दोस्ती करके) लेकिन मैं लगता है कि यह .NET डेवलपर्स के लिए पाइथन के लिए सबसे अच्छा परिचय है और साथ ही साथ Pythonistas के लिए .NET का सर्वोत्तम परिचय है।

आप scipy के सभी की जरूरत है (वाह, लेकिन वह कुछ "पुनर्जागरण आदमी" कम्प्यूटेशनल वैज्ञानिक है -!), CPython वास्तव में केवल वास्तविक विकल्प आज है। मुझे यकीन है कि अन्य बड़े एक्सटेंशन (पीईक्यूटी, कहें, या मायावी) एक समान स्थिति में हैं। आज के विंडोज़ के गहरे एकीकरण के लिए, हालांकि, मुझे लगता है कि आयरनपीथन का किनारा हो सकता है। सामान्य प्रयोजनों के उपयोग के लिए, सीपीथॉन बेहतर हो सकता है (esp। 2.6 में कई नई सुविधाओं के लिए धन्यवाद), जब तक आप वास्तव में एक ही प्रक्रिया के भीतर कई कोरों का उपयोग करने के लिए उत्सुक हैं, इस मामले में आयरनपीथन (जो कि है जीआईएल-कम) फिर से फायदेमंद साबित हो सकता है।

एक तरफ या दूसरा (या जेईथन के माध्यम से जेवीएम पर, या पीपीपी के माध्यम से अनूठे वातावरण में) पायथन निश्चित रूप से एक भयानक भाषा है, जो भी आप किसी दिए गए आवेदन के लिए चुनते हैं? -) ध्यान दें कि आप ' टी को एक कार्यान्वयन के साथ चिपकने की आवश्यकता नहीं है (हालांकि आपको शायद आयरनपीथन, ज्योथन, Google ऐप इंजन इत्यादि के साथ अधिकतम संगतता के लिए एक संस्करण - 2.5 चुनना चाहिए; 2.6 यदि आपको किसी मशीन पर सीपीथॉन को छोड़कर किसी भी परिनियोजन विकल्प की परवाह नहीं है मेरा अपना एकमात्र या आभासी नियंत्रण ";-)।

2
  1. वर्तमान रिलीज, आयरनपीथन संस्करण 2.0.2, पाइथन 2.5 वाक्यविन्यास का समर्थन करता है। (हालांकि मुझे यकीन है कि टीम एक कठिन रिलीज की तारीख निर्धारित किया है नहीं कर रहा हूँ, यहाँ beta है) अगली फिल्म, 2.6, जो कुछ समय के लिए अगले महीने या तो खत्म हो गया की उम्मीद है के साथ, वे अजगर 2.6 वाक्य रचना का समर्थन करेंगे। तो, कम जावा जावास्क्रिप्ट को और :-)
  2. पुस्तकालयों कि खुद पायथन में लिखा हैं सब के सब J # करने के लिए और अधिक जावा काफी पूरी तरह से काम करते हैं। सी में लिखे गए लोग अधिक समस्याग्रस्त हैं; (: विकसित और मेरी कंपनी द्वारा समर्थित पूर्ण प्रकटीकरण), वर्तमान में संस्करण 0.8.5 पर है, जो बहुत अच्छी तरह से numpy का समर्थन करता है लेकिन scipy के सभी को कवर नहीं करता वहाँ एक ओपन सोर्स प्रोजेक्ट Ironclad कहा जाता है। मुझे नहीं लगता कि हमने इसे f2py के साथ परीक्षण किया है। (सुदृढ़ के संस्करण एलेक्स मार्टेली से नीचे उल्लेख किया गया है एक वर्ष से अधिक पुराना है, से बचने के लिए कृपया है कि एक!)
  3. IronPython से नियमित VB.NET कॉलिंग बहुत आसान है - आप नेट वर्गों और कॉल तरीके (दृष्टांत कर सकते हैं स्थिर या उदाहरण) वास्तव में आसानी से। मौजूदा वीबीए कोड को कॉल करना मुश्किल हो सकता है; Pyinex और XLW नामक ओपन सोर्स प्रोजेक्ट्स हैं जिन्हें आप देखना चाहते हैं। वैकल्पिक रूप से, अगर आप एक स्प्रैडशीट आप अजगर में कोड कर सकते हैं चाहते हैं, तो वहाँ हमेशा है Resolver One (मेरी कंपनी से एक और एक ... :-)