Debian पर `python3` का एक उपनाम` python` कैसे बनाएं

Sep 17 2020

मेरे डेबियन परीक्षण प्रणाली के नवीनतम अपडेट ने पायथन संस्करण 2 को हटा दिया, और मेरे पास केवल पायथन 3 स्थापित है python3। अब नाम की कोई आज्ञा नहीं है python। यह कई स्क्रिप्ट को विफल करने का कारण बनता है, जिसमें पायथन 3 के साथ संगत स्क्रिप्ट शामिल हैं।

मुझे यह जानने में दिलचस्पी होगी कि विश्व स्तर पर pythonएलियास के रूप में कॉन्फ़िगर करने का उचित तरीका क्या है python3।

एक गंदा समाधान मैन्युअल रूप से कुछ करने के लिए होगा sudo ln -s /usr/bin/python{3,}, लेकिन मुझे चिंता है कि यह भविष्य के एपीटी अपडेट के लिए मजबूत नहीं हो सकता है (या बाद में पायथन 2 को फिर से इंस्टॉल करना)। एक अन्य विकल्प एक उपनाम सेट करना है, लेकिन तब यह केवल मेरे उपयोगकर्ता के लिए काम करेगा, न कि पूरे सिस्टम के लिए।

मैं यह भी ध्यान देता हूं कि उबंटू पर एक पैकेज है python-is-python3जो ठीक यही करता है, लेकिन डेबियन पर ऐसा कोई पैकेज नहीं है।

जवाब

3 StephenKitt Sep 17 2020 at 19:59

यदि आप नियम से चिपके रहना चाहते हैं कि /usrइसके अलावा सब कुछ /usr/localएक पैकेज से आना चाहिए, तो मैं वास्तव में python-is-python3पैकेज डाउनलोड करूंगा और इसे इंस्टॉल करूंगा । यह केवल /usr/bin/pythonसिमलिंक और आवश्यक दस्तावेज को शिप करता है , और इसके पैकेज संबंध भविष्य में समस्या पैदा करने की संभावना नहीं है।

एक उपनाम आपकी लिपियों के साथ मदद नहीं करेगा, और यह देखते हुए कि पायथन पैकेज विकल्प का उपयोग नहीं करते हैं, अपने स्वयं के विकल्प ( update-alternativesआदि) का निर्माण करना एक मजबूत समाधान नहीं होगा।

यदि आपकी स्क्रिप्ट का उपयोग होता है /usr/bin/env python, तो आप /usr/local/binइसके बजाय मैन्युअल रूप से लिंक जोड़ सकते हैं ।

आप जो भी करने का निर्णय लेते हैं, उसके बाद से अब तक डेबियन में पायथन-आश्रित पैकेजों का स्पष्ट रूप से उपयोग करने के लिए python2या python3उनके शेलबैंग में आवश्यक है , इसलिए आप आधिकारिक रिपॉजिटरी (डेबियन 11 और बाद में, को छोड़कर) पैकेज से उत्पन्न समस्याओं में नहीं चलेंगे। अस्थिर और अब के लिए प्रायोगिक क्योंकि उन लोगों के पास अभी भी पुराने पायथन पैकेज हैं जिन्हें अभी तक साफ नहीं किया गया है)।

2 a3nm Nov 02 2020 at 22:17

ऐसा लग रहा है कि डेबियन अब अजगर-इस-पायथन 3 को खुद ( शिपिंग में और इस लेखन के रूप में परीक्षण) में शिपिंग कर रहा है , इसलिए सवाल का आधार अब नहीं है और आप बस sudo apt update && sudo apt install python-is-python3:।