मैक ओएस एक्स 10.6.4 पर पायथन 2.7 की स्थापना रद्द कैसे करें?


339

मैं अपने मैक ओएस एक्स 10.6.4 से पायथन 2.7 को पूरी तरह से हटाना चाहता हूं। मैंने PATHअपनी श्रद्धा को बदलते हुए वेरिएबल से एंट्री को हटाने में कामयाबी हासिल की .bash_profile। लेकिन मैं सभी निर्देशिकाओं, फ़ाइलों, सिम्लिंक्स, और प्रविष्टियों को भी हटाना चाहता हूं जो पायथन 2.7 स्थापित पैकेज द्वारा स्थापित की गईं। मुझे http://www.python.org/ से इंस्टॉल पैकेज मिल गया है । मुझे किन निर्देशिकाओं / फाइलों / विन्यास फाइल प्रविष्टियों को हटाने की आवश्यकता है? कहीं सूची है?

जवाबों:


705

ऐप्पल द्वारा प्रदत्त किसी भी सिस्टम को हटाने का प्रयास न करें , जो अंदर हैं /System/Libraryऔर इससे /usr/binआपका पूरा ऑपरेटिंग सिस्टम टूट सकता है।


नोट: नीचे सूचीबद्ध कदम Apple- आपूर्ति प्रणाली पायथन 2.7 को प्रभावित नहीं करते हैं; वे केवल एक तीसरे पक्ष के पायथन ढांचे को हटाते हैं , जैसे कि python.org द्वारा स्थापित इंस्टॉलर


पूरी सूची यहाँ प्रलेखित है । मूल रूप से, आपको बस इतना करना चाहिए:

  1. तीसरे पक्ष के पायथन 2.7 ढांचे को हटा दें

    sudo rm -rf /Library/Frameworks/Python.framework/Versions/2.7
  2. अजगर 2.7 अनुप्रयोगों निर्देशिका निकालें

    sudo rm -rf "/Applications/Python 2.7"
  3. प्रतीकात्मक लिंक निकालें /usr/local/bin, उस में , इस पायथन संस्करण को इंगित करें। उनका उपयोग करके देखें

    ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7' 

    और फिर सभी लिंक्स को हटाने के लिए निम्न कमांड चलाएँ:

    cd /usr/local/bin/
    ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7' | awk '{print $9}' | tr -d @ | xargs rm
    
  4. यदि आवश्यक हो, तो /Library/Frameworks/Python.framework/Versions/2.7अपने PATHपर्यावरण फ़ाइल में जोड़ने को हटाने के लिए अपनी शेल प्रोफ़ाइल फ़ाइल (नों) को संपादित करें । जो शैल आप उपयोग के आधार पर निम्न फ़ाइलों के किसी भी संशोधित किया गया है हो सकता है: ~/.bash_login, ~/.bash_profile, ~/.cshrc, ~/.profile, ~/.tcshrc, और / या ~/.zprofile


157
नेड के सिर के लिए धन्यवाद, मैंने इसे हटा दिया, और यह पता चला कि आपको मैक ओएस एक्स को फिर से स्थापित करना होगा। मैं इसे किसी और के लिए छोड़ रहा हूं जो साथ आता है और वही सोचता है जो मैंने किया था। Python in / System / Library / Frameworks / को हटाएं नहीं ... आपका कोई भी ऐप काम नहीं करेगा और आपको OS X को फिर से इंस्टॉल करना होगा।
brthornbury

44
हाल के सिस्टम पर पायथन 2.7 डिफ़ॉल्ट सिस्टम पायथन है, जबकि 10.6.4 पर यह 2.6 था और 2.7 उपयोगकर्ता-स्थापित था। एक OS OS OS सिस्टम से UNINSTALL 2.7 नहीं।
मार्टिन पीटर्स

30
ऊपर दिए गए चरण OS X के किसी भी संस्करण से सिस्टम पायथन को नहीं हटाते हैं। सिस्टम पायथन में स्थापित हैं /System/Library/Frameworks(जिन्हें आपको कभी भी संशोधित नहीं करना चाहिए), नहीं /Library/Frameworks
नेड डिली

5
brew doctorअप्रयुक्त सिम्लिंक को खोजने के लिए भी इस्तेमाल किया जा सकता है।
शुभम कुशवाह

5
उन चरणों मत करो !!!! आपका virtualenv पर्यावरण टूट जाएगा !!!!! हे भगवान!!! मैंने ये कदम क्यों उठाया !!!!!!!!!!
FIREUSD

75

यह एक काम करता है:

cd /usr/local/bin/
ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7' | awk '{print $9}' | tr -d @ | xargs rm

विवरण: यह सभी लिंक को सूचीबद्ध करता है, @चरित्र को हटाता है और फिर उन्हें हटाता है।


1
मैंने यहां दिए गए हर उत्तर की कोशिश की, और यह वह है जिसने आखिरकार चाल चली।
jtsmith1287

25

यदि आपने PKG इंस्टॉलर का उपयोग करके इसे स्थापित किया है, तो आप कर सकते हैं:

pkgutil --pkgs

या और अच्छा:

pkgutil --pkgs | grep org.python.Python

जो कुछ इस तरह का उत्पादन करेगा:

org.python.Python.PythonApplications-2.7
org.python.Python.PythonDocumentation-2.7
org.python.Python.PythonFramework-2.7
org.python.Python.PythonProfileChanges-2.7
org.python.Python.PythonUnixTools-2.7

अब आप चुन सकते हैं कि आप कौन से संकुल को हटाएंगे (हटाएंगे)।

यह अनलिंक प्रलेखन है:

 --unlink package-id
             Unlinks (removes) each file referenced by package-id. WARNING: This command makes no attempt to perform reference counting or dependency analy-
             sis. It can easily remove files required by your system. It may include unexpected files due to package tainting. Use the --files command first
             to double check.

मेरे उदाहरण में आप टाइप करेंगे

pkgutil --unlink org.python.Python.PythonApplications-2.7
pkgutil --unlink org.python.Python.PythonDocumentation-2.7
pkgutil --unlink org.python.Python.PythonFramework-2.7
pkgutil --unlink org.python.Python.PythonProfileChanges-2.7
pkgutil --unlink org.python.Python.PythonUnixTools-2.7

या एक एकल पंक्ति में:

pkgutil --pkgs | grep org.python.Python | xargs -L1 pkgutil -f --unlink

महत्वपूर्ण: --unlink, Lion (माउंटेन लायन और Mavericks सहित) के साथ शुरू होने वाले Lion (Q1`2014 के अनुसार) अब उपलब्ध नहीं है। यदि इस निर्देश पर आने वाला कोई भी व्यक्ति शेर के साथ इसका उपयोग करने की कोशिश करता है, तो उसे इस पोस्ट के साथ यह कहने के बजाय इसे अनुकूलित करने का प्रयास करना चाहिए: https://wincent.com/wiki/Uninstalling_packages_(.pkg_files)_on_Mac_OS_X


4
दुर्भाग्य से, निर्भर करता pkgutilहै कि पायथन इंस्टॉलर द्वारा स्थापित सभी फ़ाइलों को नहीं हटाया जाएगा क्योंकि उनमें से कुछ इंस्टॉलेशन पोस्टफलाइट स्क्रिप्ट के दौरान बनाए जाते हैं और, जैसे, पंजीकृत नहीं हैं।
नेड डिली

21

के साथ अजगर की स्थापना रद्द करने की कोशिश कर रहा है

brew uninstall python

मूल रूप से स्थापित पायथन को नहीं हटाएगा, बल्कि इसके साथ स्थापित किया गया संस्करण brew


9

प्रतीकात्मक लिंक को हटाने के संबंध में, मुझे यह उपयोगी लगा।

find /usr/local/bin -lname '../../../Library/Frameworks/Python.framework/Versions/2.7/*' -delete

यह lsस्वीकार किए गए उत्तर में आउटपुट के पार्स करने की तुलना में बहुत बेहतर विचार है
९'१

8

सीलिंक को नवीनतम संस्करण में बनाएँ

 ln -s -f /usr/local/bin/python3.8 /usr/local/bin/python

एक नया टर्मिनल बंद करें और खोलें

और कोशिश

 python --version

बहुत बहुत धन्यवाद और उसी तरह से पाइप के लिए चला जाता है "ln -s -f / usr / local / bin / pip3 / usr / local / bin / pip" तो "pip --version" भी करें अगर आप इस कमांड का उपयोग पाइप को अपग्रेड करना चाहते हैं "पाइप इंस्टॉल
मोह अलाराबी

6

पुराने अजगर संस्करणों की स्थापना रद्द करने की आवश्यकता नहीं है।

बस नए संस्करण को python-3.3.2-macosx10.6 केंटिग में इंस्टॉल करें और अजगर के सॉफ्ट लिंक को नए स्थापित python3.3 में बदलें।

निम्नलिखित आदेशों के साथ डिफ़ॉल्ट अजगर और अजगर 3.3 का मार्ग जांचें

"कौन सा अजगर" और "कौन सा अजगर 3.3"

तब अजगर के मौजूदा नरम लिंक को हटा दें और इसे python3.3 पर इंगित करें


10
धन्यवाद, लेकिन यह मेरे सवाल का जवाब नहीं है। सवाल यह नहीं है कि क्या मुझे एक नया संस्करण स्थापित करने के लिए एक पुराने अजगर संस्करणों की स्थापना रद्द करने की आवश्यकता है।
जान दीन्हार्ड

1
यह सबसे सुरक्षित तरीका लगता है, क्योंकि मेरे लिए, ओएस मशीन पर जो कुछ भी डालता है, वह आमतौर पर इतना अच्छा नहीं होता है। Python2 शेल में python3 कथनों से वाक्यविन्यास मुद्दों का सामना करने के बाद मैंने भी, " python.org से इंस्टॉल पैकेज प्राप्त किया "। मेरा पहला विचार इसके बजाय python2 को हटाने और python3 का उपयोग करना था। हालांकि, पूर्व पोस्ट से जो उस कार्रवाई के खतरों की पुष्टि करता है। यह मेरे लिए बेहतर समाधान था और "रूरआउट व्यवहार के लिंक का उपयोग करें" के विचार का अनुसरण करता है। इसके अलावा, python3 शेल पहले से ही स्थापित था, बस प्रॉम्प्ट पर "python" के बजाय "python3" टाइप करना था।
मार्क लॉन्गमीरे

@ minhas23 मैं सॉफ्ट लिंक को कैसे हटाऊंगा और एक नया कैसे बनाऊंगा?
doberkofler

5

Onur Güzel अपने ब्लॉग पोस्ट में समाधान प्रदान करता है, "OS X से अजगर पैकेज की स्थापना रद्द करें

आपको टर्मिनल में निम्न कमांड टाइप करना चाहिए:

  1. sudo rm -rf /Library/Frameworks/Python.framework
  2. cd /usr/local/bin
  3. ls -l . | grep '../Library/Frameworks/Python.framework' | awk '{print $9}' | xargs sudo rm
  4. sudo rm -rf "/Applications/Python x.y"

    जहां कमांड xy स्थापित किया गया पायथन का संस्करण है। आपके प्रश्न के अनुसार, यह 2.7 होना चाहिए।

ओनूर के शब्दों में:

चेतावनी: यह कमांड पैकेजों के साथ स्थापित सभी पायथन संस्करणों को हटा देगा। सिस्टम से प्रदान किया गया पायथन प्रभावित नहीं होगा।

यदि आपके पास python.org से 1 से अधिक पायथन संस्करण स्थापित हैं, तो चौथे कमांड को फिर से चलाएं, पायथन के प्रत्येक संस्करण के लिए "xy" को बदलना जो कि अनइंस्टॉल किया जाना है।


यह मेरी समस्या हल हो गई, मेरे पास 2.7.10 है और काढ़ा 2.7.15 स्थापित है और जब मैंने "अजगर" को चलाया, तो 2.7.10 अभी भी 2.7.15 नहीं दिखा रहा था, आपकी मदद के बाद अब सभी काम कर रहे हैं, धन्यवाद
Radek

4

नोट : यदि आपने होमब्रे का उपयोग करके पायथन स्थापित किया है, तो आप निम्नलिखित चरणों का पालन कर सकते हैं, अन्यथा किसी अन्य समाधान की तलाश करें!


Python 2.7.10 की स्थापना रद्द करने के लिए जिसे आपने Homebrew का उपयोग करके स्थापित किया है, तो आप बस निम्नलिखित आदेश जारी कर सकते हैं:

brew uninstall python

इसी तरह, यदि आप Python 3 की स्थापना रद्द करना चाहते हैं (जो आपने Homebrew का उपयोग करके स्थापित किया है):

brew uninstall --force python3

3

इसे अनइंस्टॉल करने या प्रतीकात्मक लिंक के साथ पागल होने की आवश्यकता नहीं है, बस एक का उपयोग करें alias। मुझे उसी समस्या का सामना करना पड़ा जब अजगर 3.7.1 में अपग्रेड हुआ।
बस नए python संस्करण का उपयोग कर स्थापित करें और brew install pythonफिर अपने .bash_profileनए उपनाम अजगर संस्करण की ओर इशारा करते हुए बनाएं; इस तरह: alias python="/usr/local/bin/python3"फिर सहेजें और चलाएं source ~/.bash_profile
किया हुआ।


2

यदि आप मैन्युअल रूप से Apple के डिफ़ॉल्ट पायथन 2.7 को हटाने के बारे में सोच रहे हैं, तो मैं आपको सुझाव दूंगा कि आप हैंग-फायर करें और ध्यान दें: ऐसा लगता है कि Apple बहुत जल्द आपके लिए यह काम करेगा:

पायथन 2.7 OSX 10.15 कैटालिना में पदावनत

अजगर 2.7- के साथ-साथ रूबी और Perl- कैटालिना में अनुचित हैं: (करने के लिए खंड "छोड़ स्क्रिप्टिंग भाषा Runtimes "> " Deprecations ")

https://developer.apple.com/documentation/macos_release_notes/macos_catalina_10_15_release_notes

Apple OSX 10.16 में पायथन 2.7 को हटाने के लिए

वास्तव में, यदि आप कुछ भी नहीं करते हैं, तो मैक ऑब्जर्वर के अनुसार , OSX संस्करण 10.16 द्वारा, पायथन 2.7 आपके सिस्टम से गायब हो जाएगा:

https://www.macobserver.com/analysis/macos-catalina-deprecates-unix-scripting-languages/

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

नोट : मैं देख रहा हूं कि प्रश्न विशेष रूप से OSX v 10.6.4 से संबंधित है , लेकिन ऐसा प्रतीत होता है कि यह सवाल उन सभी OSX लोगों के लिए एक धुरी-बिंदु बन गया है, जो अपने सिस्टम से पायथन 2.7 को निकालने में रुचि रखते हैं, जो भी संस्करण वे चला रहे हैं।

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