सीपीथॉन: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(8 intermediate revisions by 3 users not shown)
Line 22: Line 22:
सीपीथॉन पायथन (प्रोग्रामिंग भाषा) का [[संदर्भ कार्यान्वयन]] है। सी (प्रोग्रामिंग भाषा) और पायथन में लिखा गया, सीपीथॉन, पायथन भाषा का डिफ़ॉल्ट और सबसे व्यापक रूप से उपयोग किया जाने वाला कार्यान्वयन है।
सीपीथॉन पायथन (प्रोग्रामिंग भाषा) का [[संदर्भ कार्यान्वयन]] है। सी (प्रोग्रामिंग भाषा) और पायथन में लिखा गया, सीपीथॉन, पायथन भाषा का डिफ़ॉल्ट और सबसे व्यापक रूप से उपयोग किया जाने वाला कार्यान्वयन है।


सीपीथॉन को [[दुभाषिया (कंप्यूटिंग)]] और [[संकलक]] दोनों के रूप में परिभाषित किया जा सकता है क्योंकि यह व्याख्या करने से पहले पायथन कोड को [[बाईटकोड]] में संकलित करता है। इसमें सी सहित कई भाषाओं के साथ [[विदेशी फ़ंक्शन इंटरफ़ेस]] है, जिसमें पायथन के अलावा किसी अन्य भाषा में स्पष्ट रूप से [[भाषा बंधन]] लिखनी चाहिए।
सीपीथॉन को [[दुभाषिया (कंप्यूटिंग)]] और [[संकलक]] दोनों के रूप में परिभाषित किया जा सकता है क्योंकि यह व्याख्या करने से पहले पायथन कोड को [[बाईटकोड]] में संकलित करता है। इसमें सी सहित कई भाषाओं के साथ [[विदेशी फ़ंक्शन इंटरफ़ेस|विदेशी कार्यात्मक अंतराफलक]] है, जिसमें पायथन के अतिरिक्त किसी अन्य भाषा में स्पष्ट रूप से [[भाषा बंधन]] लिखनी चाहिए।


== डिजाइन ==
== डिजाइन ==
सीपीथॉन की विशेष विशेषता यह है कि यह प्रत्येक सीपीथॉन दुभाषिया [[प्रक्रिया (कंप्यूटिंग)]] पर वैश्विक दुभाषिया लॉक (जीआईएल) का उपयोग करता है, जिसका अर्थ है कि ही प्रक्रिया के भीतर, किसी समय में केवल थ्रेड पायथन बाइटकोड को संसाधित कर सकता है।<ref>{{cite web|url=https://docs.python.org/3/c-api/init.html |title=Initialization, Finalization, and Threads |publisher= Python v3.8.3 documentation |access-date=2020-06-04}}</ref> इसका मतलब यह नहीं है कि [[मल्टीथ्रेडिंग (कंप्यूटर आर्किटेक्चर)]] का कोई मतलब नहीं है; सबसे आम मल्टीथ्रेडिंग परिदृश्य वह है जहां [[थ्रेड (कंप्यूटिंग)]] ज्यादातर बाहरी प्रक्रियाओं के पूरा होने की प्रतीक्षा कर रहे हैं।
सीपीथॉन की विशेष विशेषता यह है कि यह प्रत्येक सीपीथॉन दुभाषिया [[प्रक्रिया (कंप्यूटिंग)]] पर वैश्विक दुभाषिया बन्ध (जीआईएल) का उपयोग करता है, जिसका अर्थ है कि ही प्रक्रिया के अन्दर, किसी समय में केवल थ्रेड पायथन बाइटकोड को संसाधित कर सकता है।<ref>{{cite web|url=https://docs.python.org/3/c-api/init.html |title=Initialization, Finalization, and Threads |publisher= Python v3.8.3 documentation |access-date=2020-06-04}}</ref> इसका अर्थ यह नहीं है कि [[मल्टीथ्रेडिंग (कंप्यूटर आर्किटेक्चर)]] का कोई अर्थ नहीं है; सबसे आम मल्टीथ्रेडिंग परिदृश्य वह है जहां [[थ्रेड (कंप्यूटिंग)]] अधिकांश बाहरी प्रक्रियाओं के पूरा होने की प्रतीक्षा कर रहे हैं।


यह तब हो सकता है जब कई थ्रेड्स अलग-अलग क्लाइंट्स को सर्विस दे रहे हों। हो सकता है कि थ्रेड क्लाइंट के जवाब का इंतज़ार कर रहा हो, और दूसरा थ्रेड [[डेटाबेस]] क्वेरी के निष्पादित होने का इंतज़ार कर रहा हो, जबकि तीसरा थ्रेड वास्तव में पायथन कोड को प्रोसेस कर रहा हो।
यह तब हो सकता है जब कई थ्रेड्स अलग-अलग ग्राहकों का काम कर रहा हों। हो सकता है कि थ्रेड ग्राहक के उत्तर का प्रतीक्षा कर रहा हो, और दूसरा थ्रेड [[डेटाबेस]] क्वेरी के निष्पादित होने का प्रतीक्षा कर रहा हो, चूंकि तीसरा थ्रेड वास्तविक में पायथन कोड को प्रोसेस कर रहा हो।


हालाँकि, जीआईएल का मतलब यह है कि सीपीथॉन उन प्रक्रियाओं के लिए उपयुक्त नहीं है जो पायथन कोड में सीपीयू-गहन एल्गोरिदम को लागू करते हैं जो संभावित रूप से कई कोर में वितरित किए जा सकते हैं।
चूँकि, जीआईएल का अर्थ यह है कि सीपीथॉन उन प्रक्रियाओं के लिए उपयुक्त नहीं है जो पायथन कोड में सीपीयू-गहन एल्गोरिदम को प्रायुक्त करते हैं जो संभावित रूप से कई कोर में वितरित किए जा सकते हैं।


वास्तविक दुनिया के अनुप्रयोगों में, ऐसी स्थितियाँ जहाँ जीआईएल महत्वपूर्ण अड़चन है, काफी दुर्लभ हैं। ऐसा इसलिए है क्योंकि पायथन स्वाभाविक रूप से धीमी भाषा है और आमतौर पर इसका उपयोग सीपीयू-गहन या समय-संवेदनशील संचालन के लिए नहीं किया जाता है। पायथन आमतौर पर शीर्ष स्तर पर उपयोग किया जाता है और विशिष्ट कार्यों को करने के लिए पुस्तकालयों में कार्यों को बुलाता है। इन पुस्तकालयों को आम तौर पर पायथन में नहीं लिखा जाता है, और इन अंतर्निहित प्रक्रियाओं में से किसी को कॉल करने के दौरान किसी अन्य थ्रेड में पायथन कोड निष्पादित किया जा सकता है। सीपीयू-गहन कार्य करने के लिए बुलाए जाने वाले गैर-पायथन पुस्तकालय जीआईएल के अधीन नहीं हैं और बिना किसी प्रतिबंध के कई प्रोसेसर पर कई थ्रेड्स को समवर्ती रूप से निष्पादित कर सकते हैं।
वास्तविक संसार के अनुप्रयोगों में, ऐसी स्थितियाँ जहाँ जीआईएल महत्वपूर्ण रूकावट है, ऐसा अधिक दुर्लभ हैं। ऐसा इसलिए है क्योंकि पायथन स्वाभाविक रूप से धीमी भाषा है और सामान्यतः इसका उपयोग सीपीयू-गहन या समय-संवेदनशील संचालन के लिए नहीं किया जाता है। पायथन सामान्यतः शीर्ष स्तर पर उपयोग किया जाता है और विशिष्ट कार्यों को करने के लिए पुस्तकालयों में कार्यों को बुलाता है। इन पुस्तकालयों को सामान्यतः पायथन में नहीं लिखा जाता है, और इन अंतर्निहित प्रक्रियाओं में से किसी को कॉल करने के दौरान किसी अन्य थ्रेड में पायथन कोड निष्पादित किया जा सकता है। सीपीयू-गहन कार्य करने के लिए बुलाए जाने वाले गैर-पायथन पुस्तकालय जीआईएल के अधीन नहीं हैं और बिना किसी प्रतिबंध के कई प्रोसेसर पर कई थ्रेड्स को समवर्ती रूप से निष्पादित कर सकते हैं।


पायथन कोड की समवर्ती केवल [[मल्टीटास्किंग ऑपरेटिंग सिस्टम]] द्वारा प्रबंधित अलग-अलग सीपीथॉन दुभाषिया प्रक्रियाओं के साथ प्राप्त की जा सकती है। यह [[समानांतर कंप्यूटिंग]] के बीच संचार को जटिल बनाता है, हालांकि मल्टीप्रोसेसिंग मॉड्यूल इसे कुछ हद तक कम करता है; इसका मतलब यह है कि समवर्ती पायथन-कोड निष्पादन से वास्तव में लाभान्वित होने वाले अनुप्रयोगों को सीमित मात्रा में [[ओवरहेड (कंप्यूटिंग)]] के साथ लागू किया जा सकता है।
पायथन कोड की समवर्ती केवल [[मल्टीटास्किंग ऑपरेटिंग सिस्टम|मल्टीटास्किंग ऑपरेटिंग प्रणाली]] द्वारा प्रबंधित अलग-अलग सीपीथॉन दुभाषिया प्रक्रियाओं के साथ प्राप्त की जा सकती है। यह [[समानांतर कंप्यूटिंग]] के बीच संचार को जटिल बनाता है, चूंकि मल्टीप्रोसेसिंग मॉड्यूल इसे कुछ सीमा तक कम करता है; इसका अर्थ यह है कि समवर्ती पायथन-कोड निष्पादन से वास्तविक में लाभान्वित होने वाले अनुप्रयोगों को सीमित मात्रा में [[ओवरहेड (कंप्यूटिंग)]] के साथ प्रायुक्त किया जा सकता है।


जीआईएल की उपस्थिति सीपीथॉन के कार्यान्वयन को सरल बनाती है, और बहु-थ्रेडेड अनुप्रयोगों को लागू करना आसान बनाती है जो समवर्ती पायथन कोड निष्पादन से लाभान्वित नहीं होते हैं। हालाँकि, जीआईएल के बिना, मल्टीप्रोसेसिंग ऐप्स को यह सुनिश्चित करना चाहिए कि सभी सामान्य कोड थ्रेड सुरक्षित हैं।
जीआईएल की उपस्थिति सीपीथॉन के कार्यान्वयन को सरल बनाती है, और बहु-थ्रेडेड अनुप्रयोगों को प्रायुक्त करना आसान बनाती है जो समवर्ती पायथन कोड निष्पादन से लाभान्वित नहीं होते हैं। चूँकि, जीआईएल के बिना, मल्टीप्रोसेसिंग ऐप्स को यह सुनिश्चित करना चाहिए कि सभी सामान्य कोड थ्रेड सुरक्षित हैं।


हालाँकि जीआईएल को खत्म करने के लिए कई प्रस्ताव दिए गए हैं, आम सहमति यह रही है कि ज्यादातर मामलों में, जीआईएल के फायदे नुकसान से अधिक हैं; कुछ मामलों में जहां जीआईएल अड़चन है, एप्लिकेशन को मल्टीप्रोसेसिंग संरचना के आसपास बनाया जाना चाहिए।
चूँकि जीआईएल को खत्म करने के लिए कई प्रस्ताव दिए गए हैं, आम सहमति यह रही है कि अधिकांश स्थितियों में, जीआईएल के लाभ हानि से अधिक हैं; कुछ स्थितियों में जहां जीआईएल रूकावट है, एप्लिकेशन को मल्टीप्रोसेसिंग संरचना के आसपास बनाया जाना चाहिए।


== इतिहास ==
== इतिहास ==
Line 43: Line 43:




=== अनलादेन निगल ===
=== अनल्डेन स्वल्लो ===
Unladen Swallow सीपीथॉन की अनुकूलन शाखा थी, जिसका उद्देश्य पूरी तरह से संगत और काफी तेज होना था। इसका उद्देश्य सीपीथॉन की कस्टम [[आभासी मशीन]] को जस्ट-इन-टाइम संकलन | [[समय-समय पर संकलन]] [[LLVM]] का उपयोग करके बनाया गया है।
अनल्डेन स्वल्लो सीपीथॉन की अनुकूलन शाखा थी, जिसका उद्देश्य पूरी तरह से संगत और अधिक तेज होना था। इसका उद्देश्य सीपीथॉन की कस्टम [[आभासी मशीन]] को [[समय-समय पर संकलन]] [[LLVM|एलएलवीएम]] का उपयोग करके बनाया गया है।


परियोजना ने सीपीथॉन पर पांच के कारक द्वारा गति में सुधार का लक्ष्य बताया था;<ref>{{cite web|last=Paul |first=Ryan |url=https://arstechnica.com/open-source/news/2009/03/google-launches-project-to-boost-python-performance-by-5x.ars |title=Ars Technica report on Unladen Swallow goals |publisher=Arstechnica.com |date=2009-03-26 |access-date=2011-08-19}}</ref> यह लक्ष्य पूरा नहीं हुआ था।<ref name="PEP3146">{{cite web | url=https://www.python.org/dev/peps/pep-3146/ | title=PEP 3146 - Merging Unladen Swallow into CPython | first1=Collin |last1=Winter | last2= Yasskin | first2= Jeffrey | last3= Kleckner | first3= Reid | date=2010-03-17 | publisher=Python.org}}</ref>
परियोजना ने सीपीथॉन पर पांच के कारक द्वारा गति में सुधार का लक्ष्य बताया था;<ref>{{cite web|last=Paul |first=Ryan |url=https://arstechnica.com/open-source/news/2009/03/google-launches-project-to-boost-python-performance-by-5x.ars |title=Ars Technica report on Unladen Swallow goals |publisher=Arstechnica.com |date=2009-03-26 |access-date=2011-08-19}}</ref> यह लक्ष्य पूरा नहीं हुआ था।<ref name="PEP3146">{{cite web | url=https://www.python.org/dev/peps/pep-3146/ | title=PEP 3146 - Merging Unladen Swallow into CPython | first1=Collin |last1=Winter | last2= Yasskin | first2= Jeffrey | last3= Kleckner | first3= Reid | date=2010-03-17 | publisher=Python.org}}</ref>
परियोजना को [[Google]] द्वारा प्रायोजित किया गया था, और परियोजना के मालिक, थॉमस वाउटर्स, जेफरी यास्किन और कॉलिन विंटर, पूर्णकालिक Google कर्मचारी हैं; हालाँकि, अधिकांश परियोजना योगदानकर्ता Google के कर्मचारी नहीं थे।<ref>{{cite web| url=https://code.google.com/p/unladen-swallow/people/list | title=People working on Unladen Swallow| url-status=dead| archive-url=https://web.archive.org/web/20151029092746/https://code.google.com/p/unladen-swallow/people/list |archive-date=2015-10-29 |access-date=2019-08-08}}</ref> Unladen Swallow को [[Google Developers]] पर होस्ट किया गया था।<ref>{{cite web|url=https://code.google.com/p/unladen-swallow/ |title=Unladen Swallow project page |access-date=2011-08-19}}</ref>
पायथन भाषा के बारे में कई चीजों की तरह, अनलाडेन [[निगलना]] नाम मोंटी पायथन संदर्भ है, विशेष रूप [[[[मोंटी अजगर]] एंड द होली ग्रेल]] में अनलडेन स्वैलोज़ के एयरस्पीड वेग के बारे में मजाक के लिए।


हालांकि यह सभी प्रकाशित लक्ष्यों से कम हो गया, अनलाडेन निगल ने कुछ कोड का उत्पादन किया जो मुख्य पायथन कार्यान्वयन में जोड़ा गया, जैसे कि cPickle मॉड्यूल में सुधार।<ref>{{Cite web|url=https://bugs.python.org/issue9410|title=Issue 9410: Add Unladen Swallow's optimizations to Python 3's pickle. - Python tracker|website=bugs.python.org|access-date=2019-08-08}}</ref>
परियोजना को [[Google|गूगल]] द्वारा प्रायोजित किया गया था, और परियोजना के मालिक, थॉमस वाउटर्स, जेफरी यास्किन और कॉलिन विंटर, पूर्णकालिक गूगल कर्मचारी हैं; चूँकि, अधिकांश परियोजना योगदानकर्ता गूगल के कर्मचारी नहीं थे।<ref>{{cite web| url=https://code.google.com/p/unladen-swallow/people/list | title=People working on Unladen Swallow| url-status=dead| archive-url=https://web.archive.org/web/20151029092746/https://code.google.com/p/unladen-swallow/people/list |archive-date=2015-10-29 |access-date=2019-08-08}}</ref> अनल्डेन स्वल्लो को [[Google Developers|गूगल विकासक]] पर होस्ट किया गया था।<ref>{{cite web|url=https://code.google.com/p/unladen-swallow/ |title=Unladen Swallow project page |access-date=2011-08-19}}</ref>
जुलाई 2010 में, कुछ पर्यवेक्षकों ने अनुमान लगाया कि 2009 की चौथी तिमाही के मील के पत्थर को अभी तक जारी नहीं किया गया था कि क्या परियोजना मर चुकी थी या मर रही थी।<ref>{{cite web|url=http://groups.google.com/group/comp.lang.python/browse_thread/thread/69f85cadb424a1d4/bdf73a28f3f770cb?lnk=gst&q=unladen+swallow#bdf73a28f3f770cb |title=Message on comp.lang.python |access-date=2011-08-19}}</ref> Unladen की मेलिंग सूची पर यातायात जनवरी 2010 में 500 संदेशों से घटकर सितंबर 2010 में 10 से कम हो गया था।<ref>{{cite web|url=http://groups.google.com/group/unladen-swallow/about?hl=en |title=Unladen Swallow &#124; Google Groups |access-date=2011-08-19}}</ref> यह भी बताया गया है कि Unladen ने Google की फंडिंग खो दी है।<ref>{{cite web|url=https://www.reddit.com/r/Python/comments/cilk0/anyone_know_whats_going_on_with_unladen_swallow/c0su1wt |title=reddit post by an Unladen committer |publisher=Reddit.com |date=2010-06-24 |access-date=2011-08-19}}</ref> नवंबर 2010 में, मुख्य डेवलपर्स में से ने घोषणा की कि जेफरी और मुझे Google के लिए उच्च महत्व की अन्य परियोजनाओं पर खींच लिया गया है।<ref>{{cite web | url=http://groups.google.com/group/unladen-swallow/msg/bd4e6f935c23252a | first=Collin | last=Winter | title= Current status of Unladen-Swallow | date=8 November 2010 }}</ref>
2009 Q4 विकास शाखा 26 जनवरी 2010 को बनाई गई थी,<ref>{{cite web|url=https://code.google.com/p/unladen-swallow/source/detail?spec=svn1164&r=1042 |title=2009 Q4 release branch creation |date=2010-01-26 |access-date=2011-08-19}}</ref> लेकिन वेबसाइट पर कोई विज्ञापन नहीं किया गया था। इसके अलावा, लंबी अवधि की योजनाओं के बारे में, और जैसा कि परियोजना ने पायथन 2.7 रिलीज को याद किया, [[पायथन संवर्द्धन प्रस्ताव]] (पीईपी)<ref name="PEP3146"/>स्वीकार कर लिया गया, जिसने पायथन के आधिकारिक रिपॉजिटरी (संस्करण नियंत्रण) की विशेष py3k-jit शाखा में Unladen Swallow के विलय का प्रस्ताव दिया। जुलाई 2010 तक यह काम चल रहा था।<ref>{{cite web|url=http://groups.google.com/group/unladen-swallow/browse_thread/thread/be3d226079c457b1 |title=Developers focus on merge into py3k-jit |date=2010-07-13 |access-date=2011-08-19}}</ref> इस विलय में कुछ समय लग सकता था, क्योंकि Unladen Swallow मूल रूप से पायथन 2.6 पर आधारित था<ref>{{cite web|url=https://www.python.org/dev/peps/pep-3146/#rationale-implementation |title=Unladen Swallow baseline |publisher=Python.org |access-date=2011-08-19}}</ref> जिसके साथ पायथन 3 ने संगतता तोड़ दी (अधिक विवरण के लिए [[Python 3000|पायथन 3000]] देखें)। हालाँकि, बाद में PEP को वापस ले लिया गया था।


2011 की शुरुआत में, यह स्पष्ट हो गया कि परियोजना को रोक दिया गया था।<ref>{{cite web|url=http://qinsb.blogspot.com/2011/03/unladen-swallow-retrospective.html|title=Unladen Swallow Retrospective | date = 26 March 2011| publisher = QINSB is not a Software Blog (qinsb.blogspot.com)| first = Reid | last = Kleckner}}</ref>
पायथन भाषा के बारे में कई चीजों की तरह, अनल्डेन [[निगलना|स्वल्लो]] नाम मोंटी पायथन संदर्भ है, जो विशेष रूप [[मोंटी अजगर|मोंटी पायथन]] एंड द होली ग्रेल में अनलडेन स्वैलोज़ के एयरस्पीड वेग के बारे में मजाक के लिए हैं।


चूंकि यह सभी प्रकाशित लक्ष्यों से कम हो गया, अनल्डेन स्वल्लो ने कुछ कोड का उत्पादन किया जो मुख्य पायथन कार्यान्वयन में जोड़ा गया, जैसे कि सीपिकल मॉड्यूल में सुधार।<ref>{{Cite web|url=https://bugs.python.org/issue9410|title=Issue 9410: Add Unladen Swallow's optimizations to Python 3's pickle. - Python tracker|website=bugs.python.org|access-date=2019-08-08}}</ref>


====अनलादेन निगल रिलीज इतिहास====
जुलाई 2010 में, कुछ पर्यवेक्षकों ने अनुमान लगाया कि 2009 की चौथी तिमाही के मील के पत्थर को अभी तक जारी नहीं किया गया था कि क्या परियोजना मर चुकी थी या मर रही थी।<ref>{{cite web|url=http://groups.google.com/group/comp.lang.python/browse_thread/thread/69f85cadb424a1d4/bdf73a28f3f770cb?lnk=gst&q=unladen+swallow#bdf73a28f3f770cb |title=Message on comp.lang.python |access-date=2011-08-19}}</ref> अनल्डेन की मेलिंग सूची पर यातायात जनवरी 2010 में 500 संदेशों से घटकर सितंबर 2010 में 10 से कम हो गया था।<ref>{{cite web|url=http://groups.google.com/group/unladen-swallow/about?hl=en |title=Unladen Swallow &#124; Google Groups |access-date=2011-08-19}}</ref> यह भी बताया गया है कि अनल्डेन ने गूगल की फंडिंग खो दी है।<ref>{{cite web|url=https://www.reddit.com/r/Python/comments/cilk0/anyone_know_whats_going_on_with_unladen_swallow/c0su1wt |title=reddit post by an Unladen committer |publisher=Reddit.com |date=2010-06-24 |access-date=2011-08-19}}</ref> नवंबर 2010 में, मुख्य विकासक में से ने घोषणा की कि जेफरी और मुझे गूगल के लिए उच्च महत्व की अन्य परियोजनाओं पर खींच लिया गया है।<ref>{{cite web | url=http://groups.google.com/group/unladen-swallow/msg/bd4e6f935c23252a | first=Collin | last=Winter | title= Current status of Unladen-Swallow | date=8 November 2010 }}</ref>
 
2009 Q4 विकास शाखा 26 जनवरी 2010 को बनाई गई थी,<ref>{{cite web|url=https://code.google.com/p/unladen-swallow/source/detail?spec=svn1164&r=1042 |title=2009 Q4 release branch creation |date=2010-01-26 |access-date=2011-08-19}}</ref> किन्तु वेबसाइट पर कोई विज्ञापन नहीं किया गया था। इसके अतिरिक्त, लंबी अवधि की योजनाओं के बारे में, और जैसा कि परियोजना ने पायथन 2.7 रिलीज को याद किया, [[पायथन संवर्द्धन प्रस्ताव]] (पीईपी)<ref name="PEP3146" /> स्वीकार कर लिया गया, जिसने पायथन के आधिकारिक रिपॉजिटरी (संस्करण नियंत्रण) की विशेष py3k-jit शाखा में अनल्डेन स्वल्लो के विलय का प्रस्ताव दिया। जुलाई 2010 तक यह काम चल रहा था।<ref>{{cite web|url=http://groups.google.com/group/unladen-swallow/browse_thread/thread/be3d226079c457b1 |title=Developers focus on merge into py3k-jit |date=2010-07-13 |access-date=2011-08-19}}</ref> इस विलय में कुछ समय लग सकता था, क्योंकि अनल्डेन स्वल्लो मूल रूप से पायथन 2.6 पर आधारित था<ref>{{cite web|url=https://www.python.org/dev/peps/pep-3146/#rationale-implementation |title=Unladen Swallow baseline |publisher=Python.org |access-date=2011-08-19}}</ref> जिसके साथ पायथन 3 ने संगतता तोड़ दी (अधिक विवरण के लिए [[Python 3000|पायथन 3000]] देखें)। चूँकि, बाद में पीईपी को वापस ले लिया गया था।
 
2011 की प्रारंभ में, यह स्पष्ट हो गया कि परियोजना को रोक दिया गया था।<ref>{{cite web|url=http://qinsb.blogspot.com/2011/03/unladen-swallow-retrospective.html|title=Unladen Swallow Retrospective | date = 26 March 2011| publisher = QINSB is not a Software Blog (qinsb.blogspot.com)| first = Reid | last = Kleckner}}</ref>
 
 
====अनल्डेन स्वल्लो रिलीज इतिहास====
* 2009 Q1<ref>{{cite web | url = https://code.google.com/p/unladen-swallow/wiki/Release2009Q1 | title = Unladen Swallow 2009Q1 | publisher = unladen-swallow, A faster implementation of Python | access-date = 19 October 2012}}</ref>
* 2009 Q1<ref>{{cite web | url = https://code.google.com/p/unladen-swallow/wiki/Release2009Q1 | title = Unladen Swallow 2009Q1 | publisher = unladen-swallow, A faster implementation of Python | access-date = 19 October 2012}}</ref>
* 2009 उल्टी<ref>{{cite web | url = https://code.google.com/p/unladen-swallow/wiki/Release2009Q2  | title = Unladen Swallow 2009Q2 | publisher = unladen-swallow, A faster implementation of Python | access-date = 19 October 2012}}</ref>
* 2009 उल्टी<ref>{{cite web | url = https://code.google.com/p/unladen-swallow/wiki/Release2009Q2  | title = Unladen Swallow 2009Q2 | publisher = unladen-swallow, A faster implementation of Python | access-date = 19 October 2012}}</ref>
Line 65: Line 69:
== वितरण ==
== वितरण ==


आधिकारिक तौर पर समर्थित टियर-1 प्लेटफॉर्म [[खिड़कियाँ]], [[लिनक्स]] और मैकओएस (और [[रास्पबेरी पाई ओएस]], और निचले स्तर पर [[s390x]] के लिए लिनक्स) हैं।
आधिकारिक तौर पर समर्थित टियर-1 प्लेटफॉर्म [[खिड़कियाँ]], [[लिनक्स]] और मैकओएस (और [[रास्पबेरी पाई ओएस]], और निचले स्तर पर [[s390x|एस390एक्स]] के लिए लिनक्स) हैं।


ऐसे और भी प्लेटफ़ॉर्म हैं जिनमें कार्यशील कार्यान्वयन शामिल हैं:<ref>{{cite web |title=PythonImplementations |url=https://wiki.python.org/moin/PythonImplementations |access-date=19 July 2012}}</ref>
ऐसे और भी प्लेटफ़ॉर्म हैं जिनमें कार्यशील कार्यान्वयन शामिल हैं:<ref>{{cite web |title=PythonImplementations |url=https://wiki.python.org/moin/PythonImplementations |access-date=19 July 2012}}</ref>
Line 88: Line 92:
* [[जीपी2एक्स]]
* [[जीपी2एक्स]]
* [[आइपॉडलिनक्स]]
* [[आइपॉडलिनक्स]]
* [[Nintendo डी एस]]
* [[निनटेंडो डी एस]]
* [[निंटेंडो गेमक्यूब]]
* [[निंटेंडो गेमक्यूब]]
* [[एस60 (सॉफ्टवेयर प्लेटफॉर्म)|सिम्बियन ओएस सीरीज60]]
* [[एस60 (सॉफ्टवेयर प्लेटफॉर्म)|सिम्बियन ओएस सीरीज60]]
Line 106: Line 110:
; अन्य:
; अन्य:
{{columns-list|colwidth=30em|
{{columns-list|colwidth=30em|
* [[AROS]]
* [[एआरओएस]]
* [[OS/390]]
* [[ओएस/390]]
* [[Windows Vista]] and later
* [[विंडोज विस्टा]] और बाद में
* [[z/OS]]{{citation needed|date=August 2019}}
* [[जेड/ओएस]]{{citation needed|date=अगस्त 2019}}
}}
}}
पीईपी 11<ref>{{Cite web|url=https://www.python.org/dev/peps/pep-0011/|title=PEP 11 -- Removing support for little used platforms|website=Python.org|language=en|access-date=2019-08-08}}</ref> [[पायथन सॉफ्टवेयर फाउंडेशन]] द्वारा सीपीथॉन में समर्थित नहीं होने वाले प्लेटफार्मों को सूचीबद्ध करता है। इन प्लेटफार्मों को अभी भी बाहरी बंदरगाहों द्वारा समर्थित किया जा सकता है। इन बंदरगाहों में शामिल हैं:
पीईपी 11<ref>{{Cite web|url=https://www.python.org/dev/peps/pep-0011/|title=PEP 11 -- Removing support for little used platforms|website=Python.org|language=en|access-date=2019-08-08}}</ref> [[पायथन सॉफ्टवेयर फाउंडेशन]] द्वारा सीपीथॉन में समर्थित नहीं होने वाले प्लेटफार्मों को सूचीबद्ध करता है। इन प्लेटफार्मों को अभी भी बाहरी पोर्ट्स द्वारा समर्थित किया जा सकता है। इन पोर्ट्स में शामिल हैं:


{{columns-list|colwidth=30em|
{{columns-list|colwidth=30em|* [[एदीओएस]] (2.6 से असमर्थित)
* [[AtheOS]] (unsupported since 2.6)
* [[बीओएस]] (2.6 से असमर्थित)
* [[BeOS]] (unsupported since 2.6)
* [[डॉस]] (2.0 से असमर्थित)
* [[DOS]] (unsupported since 2.0)
* [[IRIX]] 4 (2.3 से असमर्थित)
* [[IRIX]] 4 (unsupported since 2.3)
* [[IRIX]] 5 और बाद में (3.2, 3.7 से असमर्थित)<ref>{{cite web|title=Irix अभी भी समर्थित है?|url=https://mail.python.org/pipermail/python-dev/2009 -फ़रवरी/086111.html}}</ref>
* [[IRIX]] 5 and later (unsupported since 3.2, 3.7)<ref>{{cite web|title=Irix still supported?|url=https://mail.python.org/pipermail/python-dev/2009-February/086111.html}}</ref>
* [[मैक ओएस 9]] (2.4 से असमर्थित)
* [[Mac OS 9]] (unsupported since 2.4)
* [[मिनिक्स]] (2.3 से असमर्थित)
* [[MINIX]] (unsupported since 2.3)
* [[ओपनवीएमएस]] (3.3 से असमर्थित)
* [[OpenVMS]] (unsupported since 3.3)
* [[ओएस/2]] (3.3 से असमर्थित)
* [[OS/2]] (unsupported since 3.3)
* [[आरआईएससी ओएस]] (3.0 से असमर्थित)
* [[RISC OS]] (unsupported since 3.0)
* [[विंडोज एक्सपी]] (3.5 से असमर्थित)
* [[Windows XP]] (unsupported since 3.5)
* [[विंडोज 2000]] (3.3 से असमर्थित)
* [[Windows 2000]] (unsupported since 3.3)
* [[विंडोज 3.एक्स]] (2.0 से असमर्थित)
* [[Windows 3.x]] (unsupported since 2.0)
* [[विंडोज 9एक्स]] (2.6 से असमर्थित)
* [[Windows 9x]] (unsupported since 2.6)
* [[विंडोज एनटी4]] (2.6 से असमर्थित)}}
* [[Windows NT4]] (unsupported since 2.6)
बाहरी पोर्ट जो कि पायथन Software Foundation के सीपीथॉन के आधिकारिक संस्करण में एकीकृत नहीं हैं, इसकी मुख्य विकास साइट के लिंक के साथ, अधिकांश प्लेटफ़ॉर्म-विशिष्ट कार्यात्मकताओं के लिए अतिरिक्त मॉड्यूल शामिल होते हैं, जैसे पीएसपी के लिए ग्राफिक्स और ध्वनि एपीआई और एस60 के लिए एसएमएस और कैमरा एपीआई। इन पोर्ट्स में शामिल हैं:
}}
बाहरी पोर्ट जो कि पायथन Software Foundation के सीपीथॉन के आधिकारिक संस्करण में एकीकृत नहीं हैं, इसकी मुख्य विकास साइट के लिंक के साथ, अक्सर प्लेटफ़ॉर्म-विशिष्ट कार्यात्मकताओं के लिए अतिरिक्त मॉड्यूल शामिल होते हैं, जैसे PSP के लिए ग्राफिक्स और ध्वनि API और S60 के लिए SMS और कैमरा API। इन बंदरगाहों में शामिल हैं:


{{columns-list|colwidth=30em|
{{columns-list|colwidth=30em|
* [[Amiga]]: AmigaPython<ref>[http://www.monkeyhouse.eclipse.co.uk/amiga/python/ AmigaPython]</ref>
* [[अमीगा]]: अमीगापायथन<ref>[http://www.monkeyhouse.eclipse.co.uk/amiga/python/ AmigaPython]</ref>
* [[IBM i]]: iSeriesPython<ref>[http://www.iseriespython.com/ iSeriesPython]</ref>
* [[आईबीएम आई]]: आईसीरीजपायथन<ref>[http://www.iseriespython.com/ iSeriesPython]</ref>
* [[DOS]] using [[DJGPP]]: PythonD<ref>[http://www.caddit.net/pythond PythonD]</ref>
* [[डॉस]] [[डीजेजीपीपी]] का उपयोग करते हुए: पायथनडी<ref>[http://www.caddit.net/pythond PythonD]</ref>
* [[MorphOS]]: Python 2 and 3<ref>http://yellowblue.free.fr/yiki/doku.php/en:dev:python:start Python 2 and 3</ref>
* [[मॉर्फोस]]: पायथन 2 और 3<ref>http://yellowblue.free.fr/yiki/doku.php/en:dev:python:start Python 2 and 3</ref>
* [[PlayStation Portable]]: Stackless Python for PSP<ref>[http://code.google.com/p/pspstacklesspython/ Stackless Python for PSP]</ref>
* [[प्लेस्टेशन पोर्टेबल]]: पीएसपी के लिए स्टैकलेस पायथन<ref>[http://code.google.com/p/pspstacklesspython/ Stackless Python for PSP]</ref>
* [[Symbian OS]]: [[Python for S60]]
* [[सिम्बियन ओएस]]: [[पायथन फॉर एस60]]
* [[Windows CE]]/[[Pocket PC]]: Python Windows CE port<ref>[http://pythonce.sourceforge.net/ Python Windows CE port]</ref>
* [[विंडोज सीई]]/[[पॉकेट पीसी]]: पायथन विंडोज सीई पोर्ट<ref>[http://pythonce.sourceforge.net/ Python Windows CE port]</ref>
* [[OpenVMS]]: Ports of Python 3.x are maintained by VSI<ref>{{cite web|url=https://vmssoftware.com/products/python/|title=Python|access-date=2021-08-31|website=VSI}}</ref>
* [[ओपनवीएमएस]]: पाइथन 3.x के पोर्ट्स का रखरखाव वीएसआई द्वारा किया जाता है<ref>{{cite web|url=https://vmssoftware.com/products/python/|title=Python|access-date=2021-08-31|website=VSI}}</ref>
}}
}}


Line 149: Line 151:


{| class="wikitable sortable"
{| class="wikitable sortable"
|+ Enterprise Linux
|+ उद्यम लिनक्स
! Distribution version
! वितरण संस्करण
! Distribution [[End-of-life (product)|end-of-life]]
! वितरण [[End-of-life (product)|जीवन का अंत]]
! colspan="2" | पायथन version
! colspan="2" | पायथन संस्करण
|-
|-
|[[Ubuntu (operating system)|Ubuntu]] 22.04 LTS (Jammy Jellyfish)
|[[Ubuntu (operating system)|उबंटू]] 22.04 एलटीएस (जैमी जेलिफ़िश)
|
|
|
|
| 3.10 [https://launchpad.net/ubuntu/jammy/+package/python3]
| 3.10 [https://launchpad.net/ubuntu/jammy/+package/python3]
|-
|-
|[[Ubuntu (operating system)|Ubuntu]] 20.04 LTS (Focal Fossa)
|[[Ubuntu (operating system)|उबंटू]] 20.04 एलटीएस (फोकल फोसा)
| 2030-04<ref>{{Cite web|title=Ubuntu release cycle|url=https://ubuntu.com/about/release-cycle|access-date=2021-01-18|website=Ubuntu|language=en}}</ref>{{Update after|2021|04|23}}
| 2030-04<ref>{{Cite web|title=Ubuntu release cycle|url=https://ubuntu.com/about/release-cycle|access-date=2021-01-18|website=Ubuntu|language=en}}</ref>{{Update after|2021|04|23}}
|<ref>{{Cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=Python-2-EOL-Ubuntu-20.04|title=With Python 2 EOL'ed, Ubuntu 20.04 LTS Moves Along With Its Python 2 Removal - Phoronix|website=www.phoronix.com|access-date=2020-04-01}}</ref>
|<ref>{{Cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=Python-2-EOL-Ubuntu-20.04|title=With Python 2 EOL'ed, Ubuntu 20.04 LTS Moves Along With Its Python 2 Removal - Phoronix|website=www.phoronix.com|access-date=2020-04-01}}</ref>
| {{Version|co|3.8}}<ref>{{Cite web|url=https://launchpad.net/ubuntu/focal/+package/python3|title=Binary package "python3" in ubuntu focal|website=Launchpad.net}}</ref>{{Update after|2024|10}}
| {{Version|co|3.8}}<ref>{{Cite web|url=https://launchpad.net/ubuntu/focal/+package/python3|title=Binary package "python3" in ubuntu focal|website=Launchpad.net}}</ref>{{Update after|2024|10}}
|-
|-
| Ubuntu 18.04 LTS (Bionic Beaver)
| उबंटू 18.04 एलटीएस (बायोनिक बीवर)
| 2028-04<ref>{{cite web |url=https://www.serverwatch.com/server-news/canonical-extends-ubuntu-18.04-lts-linux-support-to-10-years.html|title=Ubuntu 18.04 extended to 2028|publisher=ServerWatch.com|date=2018-11-15|access-date=2019-09-09}}</ref>
| 2028-04<ref>{{cite web |url=https://www.serverwatch.com/server-news/canonical-extends-ubuntu-18.04-lts-linux-support-to-10-years.html|title=Ubuntu 18.04 extended to 2028|publisher=ServerWatch.com|date=2018-11-15|access-date=2019-09-09}}</ref>
| {{Version|o|2.7}}<ref name="ubuntu-py2">{{cite web|url=https://launchpad.net/ubuntu/+source/python-defaults |title=python-defaults package : Ubuntu |publisher= Canonical Ltd. |date=2018-06-08 |access-date=2018-06-08}}</ref>
| {{Version|o|2.7}}<ref name="ubuntu-py2">{{cite web|url=https://launchpad.net/ubuntu/+source/python-defaults |title=python-defaults package : Ubuntu |publisher= Canonical Ltd. |date=2018-06-08 |access-date=2018-06-08}}</ref>
| {{Version|o|3.6}}<ref name="ubuntu-py3">{{cite web|url=https://launchpad.net/ubuntu/+source/python3-defaults |title=python3-defaults package : Ubuntu |publisher= Canonical Ltd. |date=2018-06-08 |access-date=2018-06-08}}</ref>
| {{Version|o|3.6}}<ref name="ubuntu-py3">{{cite web|url=https://launchpad.net/ubuntu/+source/python3-defaults |title=python3-defaults package : Ubuntu |publisher= Canonical Ltd. |date=2018-06-08 |access-date=2018-06-08}}</ref>
|-
|-
| Ubuntu 16.04 LTS (Xenial Xerus)
| उबंटू 16.04 एलटीएस (जेनियल ज़ेरस)
| 2021-04-30<ref>{{Cite web|last=Science|first=Carnegie Mellon University School of Computer|date=|title=Ubuntu 16.04 - End of Life in 2021 - SCS Computing Facilities - Carnegie Mellon University|url=http://computing.cs.cmu.edu/news/2020/eol-ubuntu-1604.html|access-date=2021-02-15|website=computing.cs.cmu.edu|language=en}}</ref>{{Update after|2021|04|30}}
| 2021-04-30<ref>{{Cite web|last=Science|first=Carnegie Mellon University School of Computer|date=|title=Ubuntu 16.04 - End of Life in 2021 - SCS Computing Facilities - Carnegie Mellon University|url=http://computing.cs.cmu.edu/news/2020/eol-ubuntu-1604.html|access-date=2021-02-15|website=computing.cs.cmu.edu|language=en}}</ref>{{Update after|2021|04|30}}
| {{Version|o|2.7}}<ref name="ubuntu-py2"/>
| {{Version|o|2.7}}<ref name="ubuntu-py2"/>
| {{Version|o|3.5}}<ref name="ubuntu-py3"/>
| {{Version|o|3.5}}<ref name="ubuntu-py3"/>
|-
|-
| [[Debian]] 11
| [[Debian|डेबियन]] 11
| 2026-06<ref name="debian.org">{{Cite web|title=Debian -- News -- Debian 11 "bullseye" released|url=https://www.debian.org/News/2021/20210814.en.html|access-date=2022-01-04|website=www.debian.org}}</ref>
| 2026-06<ref name="debian.org">{{Cite web|title=Debian -- News -- Debian 11 "bullseye" released|url=https://www.debian.org/News/2021/20210814.en.html|access-date=2022-01-04|website=www.debian.org}}</ref>
|
|
| {{Version|co|3.9}}<ref name="debian.org"/>{{Update after|2025|10}}
| {{Version|co|3.9}}<ref name="debian.org"/>{{Update after|2025|10}}
|-
|-
| Debian 10
| डेबियन 10
| 2024-06<ref>{{Cite web|title=LTS - Debian Wiki|url=https://wiki.debian.org/LTS|access-date=2021-02-15|website=wiki.debian.org}}</ref>
| 2024-06<ref>{{Cite web|title=LTS - Debian Wiki|url=https://wiki.debian.org/LTS|access-date=2021-02-15|website=wiki.debian.org}}</ref>
| {{Version|o|2.7}}<ref>{{Cite web|url=https://packages.debian.org/buster/python|title=Debian -- Details of package python in buster|website=packages.debian.org|access-date=2019-09-13}}</ref>
| {{Version|o|2.7}}<ref>{{Cite web|url=https://packages.debian.org/buster/python|title=Debian -- Details of package python in buster|website=packages.debian.org|access-date=2019-09-13}}</ref>
| {{Version|co|3.7}}<ref>{{Cite web|url=https://www.debian.org/News/2019/20190706.en.html|title=Debian -- News -- Debian 10 "buster" released|website=www.debian.org|access-date=2019-08-09}}</r