अगर मुझे अपना उबंटू अपग्रेड करना है तो क्या मुझे अपना पायथन कोड बदलना चाहिए?


11

मेरे पास एक सॉफ्टवेयर है जिसे मैं वर्षों से पायथन 3 में विकसित कर रहा हूं। आज तक, मैं उबंटू डेस्कटॉप 11.04 का उपयोग कर रहा हूं, लेकिन अब मैं उबंटू के उच्च संस्करण में जाना चाहता हूं।

क्या मुझे उबंटू ११.०४ पर रहना चाहिए ताकि उबंटू के उच्च संस्करणों में नए बदलावों के कारण मुझे अपने सॉफ़्टवेयर के स्रोत कोड के कुछ हिस्सों को बदलना न पड़े?

हाल के उबंटू संस्करण किसी भी तरह से मेरे सॉफ़्टवेयर को प्रभावित नहीं करेंगे?


18
यह वास्तव में मेरे लिए कोई ब्रेनर नहीं है: 14.04 को अपडेट करें, अगर आपके सॉफ़्टवेयर में कुछ भी टूट गया है: इसे ठीक करें। सॉफ्टवेयर-रोट से बचने के लिए यह एक उत्कृष्ट व्यायाम है। जिस प्रकार की समस्या आपको मिल सकती है वह निर्भरता के साथ है। आप पहले से ही virtualenv में इनका परीक्षण कर सकते हैं।
don.joey

6
@begueradj मैं उस प्रयास को कम से कम नहीं करना चाहता जो इसे करने जा रहा है और न ही आपके कारणों को कम करेगा। यह सिर्फ है: या तो आप प्रयास में डालते हैं या आपका सॉफ्टवेयर वास्तव में बहुत लंबे समय तक चलने वाला नहीं है। आप 12.04 में अपग्रेड कर सकते हैं, लेकिन ईओएल संस्करण पर बने रहना समस्याग्रस्त है। और समस्या अपने आप दूर नहीं होने वाली है ...
don.joey

5
@begueradj - कृपया अपने प्रश्न को संपादित करें और अपने सॉफ़्टवेयर के बारे में कुछ विवरण दें। बताइए यह क्या करता है। बताएं कि आप टूलकिट का क्या उपयोग कर रहे हैं (जैसे GTK? Qt?)। बताएं कि यह किस थर्ड पार्टी सॉफ्टवेयर पर निर्भर करता है (उदाहरण के लिए फ़ायरफ़ॉक्स का एक विशिष्ट संस्करण? वेबकिट?)। अपने सॉफ़्टवेयर के निर्माण के लिए सॉफ़्टवेयर निर्भरता का वर्णन करें। उपरोक्त जानकारी के बिना, आपको अपने प्रश्न का विशिष्ट उत्तर नहीं मिलेगा। आपके पास वर्तमान में एक सामान्य उत्तर मिलेगा।
fossfreedom

3
11.04 एक साल पहले जीवन के अंत तक पहुंच गया .. आपको लंबे समय के बाद अपग्रेड करना चाहिए था।
Psusi

जवाबों:


3

आपकी टिप्पणियों के आधार पर, आपने VM पर अपने सॉफ़्टवेयर का सफल परीक्षण किया जो एक अच्छी खबर है।

लेकिन एक एप्लिकेशन डेवलपर के रूप में आपको अपने कोड को नए रिलीज के लिए अनुकूलित करने के लिए तैयार रहना चाहिए अन्यथा इसे जल्दी छोड़ दिया जाएगा।

अब यह सुनिश्चित करने के लिए कि यह उबंटू की नई रिलीज के साथ काम करना जारी रखेगा, मैं आपको इसे पैकेज के रूप में बनाए रखने के लिए प्रोत्साहित करता हूं और आपके आवेदन के लिए एक पूर्ण परीक्षण सूट प्रदान करता हूं और पैकेज की निर्माण प्रक्रिया के दौरान इसे कॉल करता हूं (जैसे setup.py testआपके debian/rules override_dh_auto_testअनुभाग में कॉल करके )।

आप आसानी से एक bzr- बिल्डर नुस्खा का उपयोग करके एक ppa में अपने पैकेज के दैनिक बिल्ड सेट कर सकते हैं । इस प्रकार, आपको नए सॉफ़्टवेयर संस्करणों या टूटी निर्भरता के कारण सभी बिल्ड विफलताओं के बारे में सूचित किया जाएगा।

आधिकारिक रिलीज़ की घोषणा के कुछ दिनों बाद नई रिलीज़ आमतौर पर विकास के लिए खुली होती हैं। हमारे पर देखो पीपीए पेज, utopic अब distro श्रृंखला हम के लिए निर्माण कर रहे हैं का हिस्सा है:

यहाँ छवि विवरण दर्ज करें


3
आपके पास इसी प्रश्न पर 2 उत्तर क्यों हैं? इसके अलावा, autopkgtest उस तरह से काम नहीं करता है। और यह वास्तव में किसी भी अन्य प्रश्नों की तुलना में किसी भी बेहतर या अधिक सटीक प्रश्न का उत्तर कैसे देता है?
dobey

मैंने बाउंटी अवधि के दौरान एक दूसरा उत्तर पोस्ट किया। इस बार ध्यान केंद्रित करने के लिए कि ओपी वास्तव में क्या उम्मीद कर रहा है (अपनी टिप्पणी के बाद से मुझे पता है कि उसका आवेदन 14.04 के साथ सही ढंग से काम करता है) लाने के लिए उम्मीद कर रहे मुद्दों को रोकने के लिए
सिल्वेन पिनेउ

मेरा सुझाव है कि आप अपना जवाब देने के लिए एक और सवाल पूछें। BTW, मैं autopgktest भाग को ठीक करूँगा। @dobey सही है, यह उस तरह से काम नहीं करता है।
ब्रियम

@dobey autopkgtest तय / मेरे उत्तर से हटा दिया गया।
सिल्वेन पिनेउ

@Braiam autopkgtest ने तय किया / मेरे उत्तर से हटा दिया गया
सिल्वेन पिनेऊ

13

नहीं, आपको 11.04 पर नहीं रहना चाहिए। यह अक्टूबर 2012 से समर्थन के लिए जीवन का अंत हो गया है। यदि आप किसी भी तरह का समर्थन चाहते हैं, तो आपको कम से कम 12.04 (जो तीन और वर्षों के लिए समर्थित होगा ) को अपग्रेड करने की आवश्यकता है ।

इसके अलावा, उबंटू के भी नए संस्करण डिफ़ॉल्ट रूप से पायथन 3.x सहित हैं, पायथन 2.x को डिफ़ॉल्ट रूप से पूरी तरह से हटाने के लक्ष्य के साथ।

आपके पास Python 3.x के नए संस्करण के तहत अपना कोड चलाने के मुद्दे हो सकते हैं, लेकिन सामान्य तौर पर कोई समस्या नहीं होनी चाहिए। आपको डेवलपर के रूप में भी, ऐसे किसी भी मुद्दे से निपटने के लिए तैयार रहना चाहिए, भले ही आप उबंटू के किस संस्करण पर हैं। आपके द्वारा उपयोग की जा रही कोई भी लाइब्रेरी, या स्वयं पायथन, एक बग हो सकता है, जो कि आपका कोड व्यवहारिक रूप से निर्भर करता है, और यदि वह बग ठीक हो जाता है, तो आपके प्रोग्राम को इससे भिन्न व्यवहार करने का कारण बन सकता है, जिसकी आप पहले से अपेक्षा कर रहे थे।


11

आपके आवेदन के विवरण के बिना एक निश्चित उत्तर देना मुश्किल है। चूंकि आप Python3 का उपयोग कर रहे हैं, कम से कम आप Python2.x शाखा के साथ सीमित नहीं हैं (कोई Python 2.8 नहीं होगा)।

अब कुछ चेतावनियां जो आपके आवेदन पर लागू हो सकती हैं, Python3 के साथ बहुत सारे पैकेज अब केवल इसलिए खाली हो गए हैं क्योंकि GLib / GObject / GIO / GTK + को एक्सेस करने का सबसे अच्छा तरीका Python GObject ऑस्प्रेक्शन (उर्फ PyGI) है।

अंत में अलग-अलग पायथन 3 संस्करणों के बीच अभी भी कुछ मामूली अंतर हैं (जैसे कि अर्गपर्स 3.2 और 3.3 के साथ बिल्कुल वैसा ही व्यवहार नहीं करता है।

एक चीज़ जो आप आज़मा सकते हैं, वह है 14.04 VM को बूट करना और python3.4 के साथ अपने कोड का परीक्षण करना।


मैं अपना पायथन संस्करण नहीं बदलूंगा (यह असंभव है), मैं इस बारे में अधिक चिंतित हूं कि नया उबंटू संस्करण मेरे सॉफ़्टवेयर के स्रोत कोड को कैसे प्रभावित कर सकता है।

आप आधिकारिक तौर पर किस संस्करण का समर्थन करते हैं, 3.2?
सिल्वेन पिनेउ

मैं 3.1.3 संस्करण का उपयोग करता हूं

मैं आपको python3.2 (बूट 12.04 VM और sudo apt-get install python3) के साथ अपने ऐप का परीक्षण करने के लिए प्रोत्साहित करूंगा । आप python3.2 के रिलीज़ नोट को भी देख सकते हैं, लेकिन जहां तक ​​मुझे पता है कि python3.2 3.1.x शाखा पर सुधार के सिर्फ टन था (argparse उनमें से एक था)
सिल्वेन पिनेउ

1
Python3 प्रोग्राम के लिए, उन्नत अजगर संस्करण जटिल कार्यों को करने के लिए और भी अधिक कुशल तरीके प्रदान कर रहे हैं। उदाहरण के लिए Python3.4, एसिंको का परिचय देता है और यह मुझे वास्तव में जटिल ग्लिब मेनलूप / थ्रेडिंग मुद्दों से छुटकारा पाने की अनुमति देगा। मैंने इस बात पर ध्यान दिया कि मैं हाल के बदलावों में फंस गया हूं लेकिन यह बहुत बड़ी बात नहीं है। तो फिर से हाल के संस्करणों के साथ अपने स्व का परीक्षण करें (3.2 फिर 3.4 14.04 के साथ), लेकिन अन्य उत्तरदाताओं का कहना है कि आपको प्रमुख मुद्दों का सामना नहीं करना चाहिए
सिल्वेन पिनेउ

2

यह आपके कोड पर निर्भर है, यदि आपका कोड उन पुस्तकालयों का उपयोग करता है जो समर्थित नहीं हैं, तो आप किसी ऑपरेटिंग सिस्टम के नए संस्करण में आसानी से माइग्रेट नहीं कर सकते हैं, लेकिन अधिकांश समय कोई समस्या नहीं होगी।


क्या आप मुझे समझा सकते हैं कि पायथन लाइब्रेरी कैसे दी गई उबंटू संस्करण पर निर्भर करती है?

@begueradj यह नहीं है, लेकिन यदि आप एक पायथन लाइब्रेरी का उपयोग कर रहे हैं जो अब नहीं बनी हुई है, तो इसे कुछ बिंदु पर उबंटू संग्रह से गिराया जा सकता है, और इस प्रकार एक नए संस्करण पर उपलब्ध नहीं है। आपका कोड तब विफल हो जाएगा। आप निश्चित रूप से, उबंटू के पुराने संस्करण से लाइब्रेरी पैकेज को स्थापित कर सकते हैं, या स्रोत से, समस्या को हल करने के लिए, हालांकि आपको इसके बारे में कोई अपडेट नहीं मिलेगा; या आप एक अलग लाइब्रेरी का उपयोग करने के लिए अपने कोड को ठीक कर सकते हैं या समान कार्य करने के लिए अपना कोड लिख सकते हैं।
dobey

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

0

Ubuntu 14.04 में python3 पैकेज हैं, इसलिए यह कोई समस्या नहीं है। apt-cache search python3उन्हें आपको दिखाएगा। इसके अलावा, आपको 11.04 और "उच्च संस्करण" के बीच प्रत्येक उबंटू रिलीज़ के लिए रिलीज़ नोट्स पढ़ना होगा, और एक बदलाव की तलाश करनी होगी जो आपके एप्लिकेशन को तोड़ देगा। आपके विकास के बारे में कुछ भी नहीं जानने के लिए मुझे YMMV चिल्लाने की आवश्यकता है, लेकिन मेरा अनुमान है कि आपको कोई समस्या नहीं होगी।


0

अगर आपको Ubuntu 14.04 पर पाइथन के पुराने संस्करण को चलाने की आवश्यकता है, तो डेडस्कैप्स रिपॉजिटरी को सक्षम करें । उबंटू 14.04 के लिए इसके पाइथन संस्करण 2.3, 2.4, 2.5, 2.6, 3.1, 3.2, 3.3 हैं। यदि आपका आवेदन शुद्ध पायथन कोड है, और अन्य प्रक्रियाओं के व्यवहार पर निर्भर नहीं करता है, तो यह एक पुराने व्याख्याकार के तहत ठीक काम करना चाहिए।


0

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


निश्चित रूप से मैं वीएमएस पर परीक्षण कर सकता हूं (मैंने इसे किया था), मेरा सॉफ्टवेयर अच्छी तरह से काम करता है ... फिलहाल ... लेकिन मुझे कोई सुराग नहीं है अगर बाद में नए उबंटू संस्करण के कारण यह बग हो जाएगा।

1
क्योंकि उबंटू 14.04 एलटीएस संस्करण है और उनके दर्शन के आधार पर, वे संस्करण (प्रमुख संस्करण पर बम) और कॉन्फ़िगरेशन को नहीं बदलेंगे, मुझे लगता है कि आपको कोई समस्या नहीं होनी चाहिए।
ओशन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.