"अजगर की स्थापना दूषित है" कैसे ठीक करें?


37

मैं १३.१० से १४.०४ में उन्नयन कर रहा था (अभी के लिए देव, कुछ ही घंटों में स्थिर) का उपयोग कर do-release-upgradeऔर निम्नलिखित समस्या का सामना किया:

Can not upgrade 

Your python install is corrupted. Please fix the '/usr/bin/python' symlink.

मैंने थोड़ा सा गड़बड़ करने के बाद समस्या का समाधान किया, इसलिए मैं यहां अपना समाधान साझा करना चाहूंगा। आशा है कि यह किसी की मदद कर सकता है।

जवाबों:


53

/usr/bin/pythonत्रुटि संदेश में सुझाए गए सिमिलिंक के कारण मेरी समस्या पूरी तरह से बदल गई। मैं का उपयोग कर रहा था update-alternativesके साथ /usr/bin/pythonतो यह की ओर इशारा करते था /etc/alternatives/python। पता चला कि do-release-upgradeवास्तव में इस सिमलिंक के साथ सख्त है और केवल के साथ python2.7 का चयन update-alternativesइसलिए मैं यह अपने मूल राज्य के लिए मजबूर कर समाप्त हो गया, पर्याप्त नहीं है:

sudo ln -sf /usr/bin/python2.7 /usr/bin/python

और इससे समस्या हल हो गई।

यदि यह आपके लिए काम नहीं करता है, तो मुझे लगता है कि आपके पास वास्तव में दूषित अजगर स्थापित है। मैं सुझाव दूंगा

sudo apt-get install --reinstall python

@BenjaminKohl इस पर खुशी हुई :)
4a1e1

से /etc/alternatives/pythonसहानुभूति नहीं थी /usr/bin/python2.7? क्या कुछ और प्राथमिकता थी?
हेमायल

मुझे डर है कि आप इसे पीछे की ओर ले जा रहे हैं .... /usr/bin/python2.7वास्तविक द्विआधारी है, इसे कभी भी सिमलिंक नहीं होना चाहिए, /etc/alternatives/pythonसिम्लिंक .. है जिसे आप इसे फिर से जांच रहे हैं?
हेमायल

@heemayl क्षमा करें, मेरी ओर से आपकी टिप्पणी + टाइपो को गलत बताएं। /usr/bin/pythonके लिए एक सहानुभूति है /etc/alternatives/python(बेशक /usr/bin/python2.7द्विआधारी है, लेकिन यह यहाँ समस्या नहीं है)।
4a1e1

और हाँ, /etc/alternatives/pythonफिर आपके द्वारा चुने गए (जो जरूरी नहीं है /usr/bin/python2.7- आपके लिए आवश्यक है - update-alternativesउस मामले में भी आपको इसकी आवश्यकता क्यों होगी ?) से सहानुभूति है, लेकिन /usr/bin/pythonजब आप के लिए सहानुभूति की बात की अनुमति नहीं है do-release-upgrade
4a1e1

16

यह एक सही है:

sudo update-alternatives --remove-all python
sudo ln -sf /usr/bin/python2.7 /usr/bin/python

2
यह बिल्कुल सही है। यह मेरे लिए तब तक काम नहीं करेगा जब तक मैं पहली बार सभी मौजूदाupdate-alternatives --remove-all python
TryTryAgain

5

उबंटू 18.10 में अभी भी वही मुद्दा है।

/ Usr / bin / python एक पुराने संस्करण से जुड़ा हुआ है। 2.7 से बाद में भी उपलब्ध हैं, लेकिन यह सुपर-स्मार्ट प्रक्रिया पी 2.7 के लिए पूछ रही है (18.10 में!)। इसलिए मैंने इसे दिया और इसे स्वीकार कर लिया गया।

इसने मेरे लिए इसे हल किया:

1) डिलीट / usr / बिन / अजगर कर रही है sudo rm /usr/bin/python

2) एक नया लिंक बनाएं sudo ln -sf /usr/bin/python2.7 /usr/bin/python

18.10 में मैं उपयोग नहीं कर सका sudo update-alternatives --remove-all python या sudo apt-get install --reinstall python

मेरे लिये कार्य करता है। आशा है कि यह आपकी मदद करता है, भी।


ls -sfलक्ष्य को ओवरराइड करता है 1) व्यर्थ है, और 2) ठीक वही है जो मेरे उत्तर ने आपको करने के लिए कहा था। क्या बर्बादी ...
4a1e1

न ही शेख़ी: आपका उद्धरण गलत है और मैंने इसके विपरीत जो आपने "... - स्थापना अजगर" के बारे में बताया था। हां, 18.10 के साथ मेरा अनुभव आपसे अलग है और मैं इसे समझाता हूं। कोई भी टिप्पणी करने की आवश्यकता नहीं है।
राय_नो

देखा "अगर यह आपके लिए काम नहीं करता है, तो मुझे लगता है कि आपके पास वास्तव में दूषित अजगर स्थापित है?"
4a11e1

मूल रूप से, सबक यह है: आप परिवेश को पढ़ते हैं और सीखते हैं कि क्यों नहीं, केवल जो भी कोड ब्लॉक होते हैं, उन्हें अपने टर्मिनल (खतरनाक) में पेस्ट करें, और देखें कि क्या चिपक जाता है। वैसे, आपका sudo rmअभी भी व्यर्थ है।
4a11e1

1
सच है, यह 18.10 पर काम करता है। धन्यवाद।
विंग

1

के लिए उबंटू 19.04 डिफ़ॉल्ट अजगर संस्करण 3.7 है। उबंटू 19.10 में अपग्रेड करते समय मुझे वही त्रुटि मिली, और, निम्नलिखित में मदद मिली:

sudo apt-get install --reinstall python3
sudo ln -sf /usr/bin/python3.7 /usr/bin/python3

यदि आपको अपने अजगर पैकेज के साथ बहुत गंभीर समस्याएं हैं, तो इसे हटाने के लिए एकमात्र तरीका बचा है, और फिर इसे फिर से स्थापित करें:

sudo dpkg --remove --force-remove-reinstreq --force-depends python3
sudo apt-get -f install

0

यदि आप इस संबंध में भाग लेते हैं /usr/bin/python3:

sudo update-alternatives --remove-all python3
sudo ln -sf /usr/bin/python3.6 /usr/bin/python3

सिम्लिंक सुनिश्चित करें python3.6और नहीं 3.7। कम से कम यह है कि जब उन्नयन क्या आवश्यक था Ubuntu 18.10करने के लिए 19.04

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.