2010-03-24 20 views
12

मैं एक .NET डेवलपर हूं जो पाइथन के बारे में बहुत कम जानता है, लेकिन मैं इसे एक छोटी परियोजना के लिए एक टेस्ट ड्राइव देना चाहता हूं जिस पर मैं काम कर रहा हूं।मैं लिनक्स पर पाइथन विकास पर्यावरण कैसे स्थापित करूं?

मैं अपनी मशीन पर कौन से टूल्स और पैकेज इंस्टॉल करना चाहिए? मैं एक आम, कुछ हद तक व्यापक, विकास पर्यावरण की तलाश में हूं।

मैं संभवतः उबंटू 9 .10 चलाऊंगा, लेकिन मैं लचीला हूं। यदि विंडोज एक बेहतर विकल्प है, तो यह भी ठीक है।

संपादित करें: स्पष्टीकरण के लिए, मैं पाइथन प्रोग्राम चलाने के लिए न्यूनतम न्यूनतम नहीं ढूंढ रहा हूं। मैं नोटपैड और कंपाइलर का उपयोग करने के लिए एक नौसिखिया .NET dev की अपेक्षा नहीं करता। मैं विजुअल स्टूडियो, एनयूनीट, एसक्यूएल सर्वर इत्यादि की सिफारिश करता हूं

+2

आपके पास पहले से ही आपका विकास पर्यावरण सेटअप है। बस कमांड लाइन पर पायथन दर्ज करें। – licorna

+4

चीजों को पूरा करने के लिए .NET को उन सभी की आवश्यकता है। पायथन, इतना नहीं। –

+3

तो पाइथन देव डेटाबेस और वेब सर्वर का उपयोग नहीं करते हैं? :) –

उत्तर

16

आपके सिस्टम पर पहले से ही पाइथन है। अपनी पसंद के टेक्स्ट एडिटर या आईडीई का प्रयोग करें; मुझे विम पसंद है।

मैं आपको यह नहीं बता सकता कि आपको किस प्रकार के विकास के बारे में जानने के बिना आपको तीसरे पक्ष के मॉड्यूल की आवश्यकता है। लाइब्रेरी प्राप्त करने के लिए जितना संभव हो उतना उपयुक्त उपयोग करें।


अपने संपादित करने के लिए बात करने के लिए:

यह, minimalistic नहीं है एक .NET नौसिखिया नोटपैड और एक संकलक सौंपने की तरह: एक सभ्य पाठ संपादक और stdlib सब तुम सच में बाहर शुरू की जरूरत है। आपको जो भी प्रकार के एप्लिकेशन लिख रहे हैं, उन्हें विकसित करने के लिए आपको तीसरे पक्ष के पुस्तकालयों की आवश्यकता होगी, लेकिन मैं किसी तीसरे पक्ष के मॉड्यूल सभी पाइथन प्रोग्रामर को वास्तव में आवश्यकता या चाहने के बारे में नहीं सोच सकता।

.NET/Windows प्रोग्रामिंग दुनिया को अनलॉक करें, देव उपकरण का कोई भी सेट नहीं है जो अन्य सभी के ऊपर खड़ा है। अलग-अलग लोग विभिन्न संपादकों का बहुत उपयोग करते हैं। पायथन में, एक मॉड्यूल नेमस्पेस पूरी तरह से एक फ़ाइल के भीतर है और प्रोजेक्ट संगठन फाइल सिस्टम पर आधारित है, इसलिए लोग अपने आईडीई पर कड़ी मेहनत नहीं करते हैं। विभिन्न परियोजनाएं विभिन्न संस्करण नियंत्रण सॉफ्टवेयर का उपयोग करती हैं, जो हाल ही में नए चेहरों के साथ तेजी से बढ़ रही है। इनमें से अधिकांश टीएफएस से बेहतर हैं और सभी स्रोतसेफ से 1000 गुना बेहतर हैं।

जब मैं एक इंटरैक्टिव सत्र चाहता हूं, तो मैं वेनिला पायथन दुभाषिया का उपयोग करता हूं। विभिन्न फैंसी दुभाषिया मौजूद हैं: बिप्थन, आईपीथॉन, आईडीएलई। Bpython इन की कम से कम कल्पना है और अजीब सामान नहीं करने के बारे में अच्छा होना चाहिए। आईपीथॉन और आईडीईएल अजीब बग का कारण बन सकता है जहां कोड जो उनके काम करता है, सामान्य पायथन में काम नहीं करता है और इसके विपरीत; मैंने आईडीएलई के साथ यह पहला हाथ देखा है।

और उपकरण आप के बारे में पूछा में से कुछ कुछ अन्य लोगों

  • नेट आप NUnit का प्रयोग करेंगे में लिए। पायथन में, stdlib unittest मॉड्यूल का उपयोग करें। विभिन्न तृतीय-पक्ष एक्सटेंशन और परीक्षण धावक हैं, लेकिन unittest आपको ठीक से अनुकूल होना चाहिए।
    • यदि आप वास्तव में इससे परे कुछ देखना चाहते हैं, तो प्राप्त करें, unittest के 2.7 संस्करण का बैकपोर्ट प्राप्त करें। इसने तीसरे पक्ष के उपकरणों से सभी बेहतरीन चीजों को शामिल किया है और वास्तव में साफ है।
  • .NET में आप SQL सर्वर का उपयोग करेंगे।पायथन में, आप PostgreSQL, MySQL, sqlite, या कुछ अन्य डेटाबेस का उपयोग कर सकते हैं। पायथन डेटाबेस के लिए एक एकीकृत एपीआई निर्दिष्ट करता है और एक से दूसरे में पोर्टिंग आमतौर पर बहुत आसानी से चला जाता है। एसक्लाइट stdlib में है।
    • डाटाबेस का उपयोग करने के लिए कई ऑब्जेक्ट रिलेशनल मॉडल हैं। SQLAlchemy इनमें से सबसे उल्लेखनीय है।
  • यदि आप नेटवर्क प्रोग्रामिंग कर रहे हैं, तो मुड़ें।
  • यदि आप संख्यात्मक गणित कर रहे हैं, तो numpy और scipy प्राप्त करें।
  • यदि आप वेब विकास कर रहे हैं, तो एक ढांचा चुनें। लगभग 200000 हैं: पिलोन, ज़ोप, डीजेगो, चेरीपी, वेर्कजेग ... मैं एक की सिफारिश करके एक तर्क शुरू करने से परेशान नहीं होगा। इनमें से अधिकतर खुशी से विभिन्न सर्वरों के साथ त्वरित सेटिंग के साथ काम करेंगे।
  • यदि आप जीयूआई विकास करना चाहते हैं, तो कुछ पाइथन बाइंडिंग हैं। Stdlib जहाजों के साथ बाध्यकारी जहाजों के साथ परेशान नहीं होगा। डब्ल्यूएक्स बाइंडिंग्स (wxpython), जीटीके + बाइंडिंग्स (पायगेट), और क्यूटी बाइंडिंग के दो सेट हैं। यदि आप देशी विंडोज जीयूआई विकास करना चाहते हैं, तो आयरनपीथन प्राप्त करें और इसे .NET में करें। Win32 बाइंडिंग हैं, लेकिन वे आपको सीधे अपने उपयोग करने की कोशिश कर अपने बालों को खींचाना चाहते हैं।
+2

तृतीय पक्ष पुस्तकालयों को स्थापित करने के लिए 'पीआईपी' पर एक नोट जोड़ना चाह सकता है। – Kimvais

+1

+1: "बैटरी शामिल"। आपको जो चाहिए वह आवश्यक है जो पहले से ही मानक इंस्टॉल में है। –

+0

अतिरिक्त जानकारी के लिए धन्यवाद!मुझे एहसास है कि मुझे आपके द्वारा उल्लेखित सभी सामानों की आवश्यकता नहीं हो सकती है, लेकिन पाइथन समुदाय के लिए एक नवागंतुक के रूप में, यह जानना वास्तव में सहायक है कि कौन से टूल्स बाहर हैं और आमतौर पर उपयोग किए जाते हैं। –

2

पायथन (डुह), सेटअपटॉल्स या पीआईपी, वर्चुअलनेव, और एक संपादक। मैं geany का सुझाव है, लेकिन यह सिर्फ मुझे है। और निश्चित रूप से, आपको किसी भी अन्य पायथन मॉड्यूल की आवश्यकता होगी।

3

यदि आप टर्मिनल लॉन्च करते हैं और python टाइप करते हैं तो आपको एक दुभाषिया मिल जाएगा, जहां आप सामान की कोशिश करना शुरू कर सकते हैं।

बस अगर आपने इसे नहीं देखा है, तो पाइथन में डाइव बुक करें, मुफ्त ऑनलाइन है। http://www.diveintopython.org/

दुभाषिया का उपयोग कर पुस्तक में उदाहरणों का पालन करें।

अपने काम को संग्रहीत करने के लिए आप किसी भी संपादक का उपयोग कर सकते हैं; विम या ईएमएसीएस सबसे शक्तिशाली हो सकता है, लेकिन पहले सीखना सबसे कठिन भी हो सकता है। यदि आप अधिक "पारंपरिक" आईडीई चाहते हैं, तो आप विंगइड आज़मा सकते हैं। http://www.wingware.com/

पाइथन के साथ अधिक आरामदायक होने के बाद आपको एक उन्नत दुभाषिया का प्रयास करना चाहिए; ipython आज़माएं। http://ipython.scipy.org/moin/

जब आप एक और गंभीर परियोजना विकसित करना शुरू करते हैं तो आपको अतिरिक्त मॉड्यूल प्राप्त करने होंगे। यहां आपके पास दो विकल्प हैं; 1) अतिरिक्त मॉड्यूल स्थापित करने के लिए अपने वितरण उपकरण का उपयोग करें; या 2) उन मॉड्यूल को डाउनलोड करें जिन्हें आपको सीधे उनकी साइट से चाहिए और उन्हें मैन्युअल रूप से इंस्टॉल करें। आप निश्चित रूप से उन्हें अपग्रेड करने के लिए जिम्मेदार होंगे।

आपको अपने लिए तय करने का तरीका तय करना होगा। व्यक्तिगत रूप से मैं मैन्युअल रूप से अतिरिक्त मॉड्यूल डाउनलोड और स्थापित करना पसंद करता हूं।

+1

डीआईपी लक्ष्य 2.3 और 3.x, आज के किसी भी संस्करण के लिए कौन से संस्करण आदर्श नहीं हैं; 2.3 और 2.6 के बीच काफी बड़े बदलाव हुए हैं, और 3.1 कई उपयोगी प्रोग्राम बनाने के लिए पर्याप्त रूप से समर्थित नहीं है। यह बदसूरत उदाहरणों और तकनीकी रूप से गलत दावों से भी भरा है। जब कोई अपनी पहली भाषा के रूप में पाइथन सीख रहा है, तो मैं आमतौर पर एक कंप्यूटर वैज्ञानिक की तरह सोचने की सलाह देता हूं http://tinyurl.com/thinkcspy2e अगर कोई पहले से ही प्रोग्राम को अच्छी तरह जानता है, उदाहरण के लिए यदि ओपी सी # का एक उन्नत उपयोगकर्ता है, तो आधिकारिक ट्यूटोरियल http://docs.python.org/tut/ आमतौर पर उन्हें IP12thon के लिए –

+0

+ जाने के लिए पर्याप्त है। मैं इसे अपना खोल बनाना चाहता हूं :) –

4

चूंकि मैं ग्रहण करने के आदी हूं, मुझे पाइथन के लिए एक्लिप्स + पायडेव सुविधाजनक लगता है। त्वरित गणना के लिए, निष्क्रिय महान है।

मैंने विंडोज़ और उबंटू पर पायथन का उपयोग किया है, और लिनक्स बहुत साफ है।

+1

पीडीडीव के लिए +1। यह एक महान आईडीई है, और अन्य परियोजनाओं (जैसे जावा और पर्ल) के लिए एक आईडीई में रहना भी अच्छा है। – bedwyr

+1

बीटीडब्ल्यू, आईडीएलई के बजाय (या इसके अलावा) आप DreamPie (http://dreampie.sourceforge.net/) को देखना चाहेंगे। मैंने इसका बहुत उपयोग नहीं किया है, लेकिन यह दिलचस्प लग रहा है। – Javier

6

पाइथन के सिस्टम इंस्टॉलेशन को प्रभावित/खोने का मौका कम करने के लिए, मैं आमतौर पर उबंटू पायथन इंस्टॉलेशन पर virtualenv इंस्टॉल करता हूं। मैं फिर अपनी होम निर्देशिका में वर्चुअलएन्व बना देता हूं ताकि बाद के पैकेज मैं पाइप या easy_install के माध्यम से स्थापित कर सकूं, सिस्टम स्थापना को प्रभावित नहीं करते हैं।और मैं के माध्यम से .bashrc

$ sudo apt-get install python-virtualenv 
$ virtualenv --no-site-packages ~/local 
$ PATH=~/local/bin:$PATH #<----- add this to .bashrc to make it permanent 
$ easy_install virtualenv #<--- so that project environments are based off your local environment rather than the system, probably not necessary 

मेरे पथ के लिए कि virtualenv से बिन जोड़ने अपने पसंदीदा संपादक स्थापित करें, मैं emacs + rope पसंद है, लेकिन संपादकों एक निजी पसंद कर रहे हैं और विकल्प के बहुत सारे हैं।

जब मैं मुझे लगता है कि इस परियोजना के लिए एक नया आभासी वातावरण बनाने, ताकि मैं निर्भरता कहीं और प्रभाव नहीं है एक नई परियोजना/विचार शुरू करते हैं। चूंकि मैं अपनी कुछ परियोजनाओं के लिए किसी पुस्तकालय के अपग्रेड के कारण तोड़ने के लिए नफरत करता हूं, दोनों परियोजनाओं और नए पर निर्भर करता है।

~/projects $ virtualenv --no-site-packages my_new_project.env 
~/projects/my_new_project.env $ source bin/activate 
(my_new_project.env)~/projects/my_new_project.env $ easy_install paste ipython #whatever else I think I need 
(my_new_project.env)~/projects/my_new_project.env $ emacs ./ & # start hacking 

एक नए पैकेज ... बनाते समय क्रम में कुछ ऐसा है जो easy_installable/pippable उपयोग paster create

(my_new_project.env)~/projects/my_new_project.env$ paster create new_package 
(my_new_project.env)~/projects/my_new_project.env/new_package$ python setup.py develop new_package 

के रूप में मैं इसके बारे में सोच सकते हैं जहाँ तक आम सामान है कि हो जाएगा है। बाकी सब कुछ संपादक/संस्करण नियंत्रण उपकरण विशिष्ट

1

यदि आप अभी पाइथन से शुरू कर रहे हैं, तो मैं वास्तव में virtualenv (जो मुझे लगता है कि बहुत भारी हो सकता है) की जटिलता लाने के खिलाफ बहस करेगा, कम से कम आप तक पाइथन मूल बातें (विशेष रूप से लाइब्रेरी/निर्भरता प्रबंधन के संबंध में) की दृढ़ समझ है।

आप Ubuntu और ग्नोम डेस्कटॉप वातावरण का उपयोग कर रहे हैं, तो gedit डिफ़ॉल्ट (जीयूआई) पाठ संपादक है, और महान समर्थन हासिल है पायथन में बनाया के लिए। तो मेरी सिफारिश पहले से स्थापित अजगर और gedit (के साथ शुरू करने के लिए है जो pretty extensible on its own है)।

0

आप शायद NetBeans Python IDE एक शॉट देने के लिए करना चाहते हैं। आप या तो विंडोज/लिनक्स का उपयोग करना चुन सकते हैं।

0

डेटाबेस: स्क्लाइट (इनबिल्ट)। हालांकि आप स्क्लेक्लेमी चाहते हैं।

जीयूआई: tcl इनबिल्ट है, लेकिन wxPython या PyQT सिफारिश की है।

आईडीई: मैं मैक पर खिड़कियों पर बेकार (इनबिल्ट) का उपयोग, TextMate, लेकिन आप PyDev पसंद कर सकते हैं। मैंने उलिपद के बारे में अच्छी बातें भी सुनी हैं।

संख्याशास्त्र: numpy।

फास्ट इनलाइन कोड: बहुत सारे विकल्प। मैं बढ़ावा बुनाई (scipy का हिस्सा) की तरह है, लेकिन आप ctypes (DLLs उपयोग करने के लिए), Cython, आदि

वेब सर्वर पर गौर कर सकता है: बहुत सारे विकल्प हैं। Django (प्लस अपाचे) सबसे बड़ा है।

यूनिट परीक्षण: इनबिल्ट।

पाइपरिंग, सिर्फ इसलिए।

सुंदर सूप (या एक और अच्छा HTML पार्सर)।

एचजी, गिट, या कुछ अन्य अच्छे वीसी।

ट्रैक, या कोई अन्य बग सिस्टम।

ओह, और StackOverflow आप कोई प्रश्न हैं।

1

आपको ज्यादा आवश्यकता नहीं है। पाइथन शामिल है "बैटरी शामिल हैं।"

दृश्य स्टूडियो == निष्क्रिय। आप पहले से ही यह किया है। यदि आप अधिक आईडीई की तरह वातावरण चाहते हैं, Komodo संपादित करें स्थापित करें।

NUnit == unittest। आप पहले से ही मानक पुस्तकालय में पास है।

एसक्यूएल सर्वर == sqlite। आप पहले से ही मानक पुस्तकालय में पास है।

बंद करो बर्बाद कर समय सब कुछ हो रही है तैयार। यह बुनियादी अजगर स्थापना में पहले से ही नहीं है।

काम करने के लिए प्राप्त करें।

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

लिनक्स मूल रूप से डेवलपर्स पर केंद्रित था। आपको आवश्यक सभी टूल्स पहले से ही हैं या साधारण यम या आरपीएम इंस्टॉल का हिस्सा हैं।

2

नेट दुनिया

एक .NET से लिनक्स दुनिया में कूदते से अजगर को हो रही है/विंडोज पृष्ठभूमि थोड़ा चिंताजनक हो सकता है (लेकिन मैं कोशिश कर रहा लिनक्स रखने के लिए प्रोत्साहित करते हैं)

लेकिन मैं थोड़ी देर के लिए विंडोज के साथ चिपकने के लिए, विंडोज से आने वाले किसी को भी सुझाव दूंगा। goto www.Activestate.com और उनके पायथन पैकेज डाउनलोड करें - इसमें मार्क हैमंड द्वारा पूर्ण Win32com सीमाएं शामिल हैं और इसमें एक पूर्ण, तेज़ आईडीई "पायथन"

मैंने केवल इस सेटअप के साथ वास्तविक व्यावसायिक विकास किया है विंडोज़ बॉक्स - एक 14 एमबी। एमएसआई और आप जाओ!

अब डीएलआर (डायनामिक सामान्य भाषा रनटाइम) पर पायथन का उपयोग करने के लिए आपको आयरनपीथन डाउनलोड करने की आवश्यकता है। यह एक अलग दुभाषिया है, जिसे मूल रूप से माइक्रोसॉफ्ट में मार्क हैमंड द्वारा लिखा गया था और ironpython.org पर है।

इस के साथ

आप (विकिपीडिया से) की तरह कोड :: चलाने

import clr 
clr.AddReference("System.Windows.Forms") 
from System.Windows.Forms import MessageBox 
MessageBox.Show("Hello World") 

अब तुम अजगर से किसी भी नेट कोड का उपयोग कर सकते कर सकते हैं।

संबंधित मुद्दे