निकालें और मैक पर अजगर को पुनर्स्थापित करें - क्या मैं इन पुराने संदर्भों पर भरोसा कर सकता हूं?


36

मैं मैक के लिए नया हूँ, और जाहिर है मैंने किसी प्रकार की त्रुटि की है। मैं अजगर सीख रहा हूँ, ट्यूटोरियल के माध्यम से, और Homebrew, पिप और XCode के बीच किसी तरह मेरे संस्करण सभी मिश्रित हैं। Pip3 python2 को इंगित करता है, इसलिए मेरे सभी python3 परीक्षण विफल होते हैं, आदि ...

मैं शोध कर रहा हूं कि सभी संस्करणों को सुरक्षित रूप से कैसे हटाएं और फिर एक साफ स्थापित (होमब्रे?) के लिए शूट करें लेकिन मैं थोड़ा परेशान हूं।

मुझे कुछ बेहतरीन लिंक मिले हैं:

स्पष्ट रूप से कोई भी रूट /systemडायरेक्टरी में कुछ भी नहीं छूता है , और मूल रूप से बाकी सब कुछ डिलीट हो जाता है। मुझे क्या परेशान करता है, यह है कि यह लिंक बहुत पुराने कुत्ते हैं। (छह साल! +) मुझे यकीन नहीं है कि मैं वास्तव में उन पर विश्वास करता हूं या नहीं।

किसी को यहाँ हाल ही में किया गया है? क्या मैं ऊपर दी गई पोस्टिंग पर भरोसा कर सकता हूं? मैं इस अजगर संस्करण गंदगी को कैसे साफ करूं? नोट: मैं MacOS सिएरा (10.12.5) का उपयोग कर रहा हूं

जवाबों:


34

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

  1. which python--- - /Library/Frameworks/Python.framework/Versions/2.7/bin/python से पूरे पायथन.फ्रेमवर्क निर्देशिका को हटा दें /Library/Frameworks
  2. which python3--- - /usr/local/bin/python3 पूरे python3 निर्देशिका को हटाएं।
  3. मैं सहानुभूति के बारे में थोड़ा घबरा गया था। मैंने शुरू में उन लोगों का नाम बदल दिया जो जाहिर तौर पर मुझे परेशान करने वाले थे। यह पता चला है कि अनावश्यक था। इसके बजाय, बस उपयोग करें:

    $ brew doctor
    Warning: Broken symlinks were found. Remove them with 'brew prune':
      /usr/local/bin/python-32
      /usr/local/bin/python2-32
      /usr/local/bin/python2.7-32
      /usr/local/bin/python2_DNU
      /usr/local/bin/python_DNU
      /usr/local/bin/pythonw-32
      /usr/local/bin/pythonw2-32
      /usr/local/bin/pythonw2.7-32
    

    तो, brew prune(या brew cleanup --pruneHomebrew के नए संस्करणों में) पूरी तरह से काम किया। इसने उपरोक्त सभी सहानुभूति को हटा दिया।

  4. होमबॉव के माध्यम से अजगर और अजगर 3 को पुनर्स्थापित करें। सब कुछ कर दिया।

बिना किसी समय मैंने /Systemफ़ोल्डर के भीतर स्थित अजगर स्थापना को स्पर्श किया ।

ओह, और स्पष्ट होना। मूल प्रश्न का उत्तर है

हां, आप पुराने संदर्भों पर भरोसा कर सकते हैं, जैसा कि लिखा गया है! वह मार्गदर्शन अभी भी मान्य है।


@nohillside thx लेकिन .. आप आसानी से XXXX के हालिया इनपुट को यहाँ स्वीकार कर सकते थे जिसने यहाँ एक टिप्पणी के रूप में आपके संपादन को प्रेरित किया। आपके लिए एक अजीब सा अट्रैक्शन मिस लगता है .. क्या न्यूबी को कमेंट पोस्ट करने की अनुमति नहीं है? और अब मैं इसे स्वयं करने के लिए सबमिट नाम नहीं देख सकता।
zipzit

एट्रिब्यूशन पाने का सबसे अच्छा तरीका यह है कि वास्तव में किसी पोस्ट को एडिट करने के लिए एडिटिंग की आवश्यकता होती है, जो सभी उपयोगकर्ता (यहां तक ​​कि अनाम लोग भी) कर सकते हैं। यदि उपयोगकर्ता उत्तर के रूप में सुधार टिप्पणियाँ पोस्ट करना चुनते हैं तो मैं आमतौर पर उन्हें संबंधित पोस्ट में संपादित करता हूं।
nohillside

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

बस उल्लेख करने के लिए /System/Library/Frameworks/Python.framework/कभी भी हटाया नहीं जाना चाहिए, लिंक docs.python.org/3/use/mac.html
ivan.proskuryakov

नए संस्करण में काढ़ा क्लीनअप है
ग्राफिकलडॉट

5

मेरा पायथन संस्करण 3.6 था, मैं 3.7 में अपग्रेड करना चाहता था (यदि आपके पास समान आवश्यकताएं हैं)। मैं macOS संस्करण 10.12.6 का उपयोग कर रहा हूं और मेरे लिए बस अनइंस्टॉल करना और फिर से इंस्टॉल करना:

brew uninstall --ignore-dependencies python3

फिर:

brew install python3

और हो गया:

python3
Python 3.7.2 (default, Jan 13 2019, 12:51:54) 
[Clang 9.0.0 (clang-900.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

इसने मेरे लिए अच्छा काम किया। मुझे ipythonलॉन्च स्क्रिप्ट को मैन्युअल रूप से संपादित करके पथ को समायोजित करने की आवश्यकता थी
18

0

सिस्टम फ़ाइलें सिस्टम इंटीग्रिटी प्रोटेक्शन द्वारा सुरक्षित हैं। आप rm -rfपहले SIP को अक्षम किए बिना इन निर्देशों को यादृच्छिक फ़ोल्डर / सिस्टम में पालन ​​नहीं कर पाएंगे ।

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

Homebrew / usr / लोकल / सेलर में अलग से इंस्टॉल होता है। अपने पायथन इंस्टॉलेशन को प्रबंधित करने के लिए होमब्रे का उपयोग करें और सिस्टम इंस्टॉलेशन को पूरी तरह से अनदेखा करें।


क्या वह हाँ, उन दो संदर्भों पर भरोसा करने के लिए ठीक था, या नहीं, उन पर भरोसा नहीं करते? वे संदर्भ उच्च गुणवत्ता के लगते हैं, अच्छी तरह से तर्कपूर्ण हैं, और बहुत अच्छे तरीके से समझाया गया है।
zipzit

1
@zipzit आप उन पर भरोसा कर सकते हैं, लेकिन वे काम नहीं करेंगे - यह दो अलग चीजें हैं। सामग्री भरोसेमंद है; macOS के हाल के संस्करण पर इसे आज़माएं और यह कोई नुकसान नहीं करेगा, लेकिन इस जवाब में दिए गए कारणों से भी यह काम नहीं करेगा। मैं अत्यधिक आपके सिस्टम पाइथन इंस्टॉलेशन को हटाने के लिए SIP को अक्षम नहीं करने की सलाह देता हूं (यही कारण है कि मैं निर्देशों से जुड़ा नहीं है) क्योंकि यह आपकी समस्या का वास्तविक कारण नहीं है और इससे कुछ भी हल करने में मदद नहीं मिलेगी, संभवतः इस प्रक्रिया में अधिक समस्याएं पैदा हो सकती हैं।
GRG

आपके उत्तर से मुझे कोई मतलब नहीं है। ऊपर से जुड़ा कोई भी गुणवत्ता उत्तर किसी भी चीज को नहीं छूता है /system। कोई नहीं = एक नहीं, शून्य, जिप, नाडा। आपके एप्लिकेशन फ़ोल्डर में 1) पायथन 3.3 फ़ोल्डर में हटाने के लिए चीजें हैं। 2) /Library/Frameworks/Python.framework 3) ~ 20 symlinks in / usr / लोकल / बिन। 4) शेल पथ में संदर्भ (यदि मौजूद है)। मुझे नहीं लगता कि उन लोगों में से कोई भी उन सुरक्षाओं से टकराएगा जिनके बारे में आप बात कर रहे हैं। मुझे किसकी याद आ रही है?
zipzit

@zipzit काफी समय पहले, पायथन को / लाइब्रेरी से / सिस्टम / लाइब्रेरी में स्थानांतरित कर दिया गया था, इसलिए आप सिस्टम इंस्टॉलेशन को हटाने के प्रयास में टच / सिस्टम होंगे। सिस्टम पायथन फ्रेमवर्क /System/Library/Frameworks/Python.framework, not / Library में है।
GRG

$which python /Library/Frameworks/Python.framework/Versions/2.7/bin/python $ which python3 /usr/local/bin/python3प्लस पायथन 2.3, 2.4, 2.5, 2.7 और वर्तमान में स्थित हैSystem/Library/Frameworks/Python.framework/Versions/...
zipzit
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.