Видалити та перевстановити Python на Mac - чи можна довіряти цим старим посиланням?


36

Я новачок у mac, і, мабуть, я допустив якусь помилку. Я вивчав python через підручники, а між Homebrew, Pip та XCode якось всі мої версії змішані. Pip3 вказує на python2, тому всі мої випробування python3 провалюються тощо.

Я досліджую, як безпечно видалити всі версії, а потім знімати для чистої установки (домашньої?), Але я трохи нервую.

Я знайшов кілька чудових посилань:

Очевидно, що в кореневому /systemкаталозі ніхто не торкається , а в основному все інше видаляється. Що мене нервує, це те, що ці посилання досить старі. (шість років! +) Я не впевнений, я їм справді довіряю чи ні.

Хтось був тут останнім часом? Чи можна довіряти публікаціям, пов’язаним вище? Як почистити цей безлад версії python? Примітка: я використовую MacOS Sierra (10.12.5)

Відповіді:


34

Отже, я закінчив видалити всі установки python та перевстановити речі через Homebrew.

  1. which python---> /Library/Frameworks/Python.framework/Versions/2.7/bin/python Видаліть весь каталог Python.framework з /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 --pruneв нових версіях Homebrew) спрацювали чудово. Це видалило всі вищевказані символьні посилання.

  4. Перевстановіть python та python3 через homebrew. Готово.

Я жодного разу не торкався установки python, розташованої в /Systemпапці.

О, і щоб було зрозуміло. Відповідь на оригінальне запитання є

Так, ви можете довіряти старим посиланням, як написано! Це керівництво досі діє.


@nohillside thx, але .. ви могли легко визнати нещодавній вхід з XXXX тут, який запропонував вам змінити тут як коментар. Здається, вам не вистачає дивної атрибуції. Чи новичкам заборонено публікувати коментарі? І тепер я не бачу імені подання, щоб зробити це самостійно.
zipzit

Найкращий спосіб отримати атрибуцію - це фактично редагувати публікацію в разі необхідності редагування, що можуть зробити всі користувачі (навіть анонімні). Якщо користувачі вирішують публікувати коментарі щодо вдосконалення як відповіді, я зазвичай просто редагую їх у відповідній публікації.
nohillside

Домашні версії python не включатимуть підтримку Xcode або інструментів, як долото останнього, що я перевірив. Тому зазвичай це не рекомендується.
nyteshade

Просто згадуючи, що /System/Library/Frameworks/Python.framework/ніколи не слід видаляти, посилання docs.python.org/3/using/mac.html
ivan.proskuryakov

нова версія заварила очищення
GraphicalDot

5

Моя версія Python була 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шлях, відредагувавши сценарій запуску вручну - щоб вказати на
варивову

0

Системні файли захищені захистом цілісності системи. Ви не зможете виконувати ці вказівки до rm -rfвипадкових папок в / Системі, не попередньо відключивши SIP.

Однак, оскільки файли захищені, ви знаєте, що файли не були змінені. Ваш "бардак версій" був би обумовлений вашою установкою оболонки, і не змінено, змінюючи системні файли в будь-якому випадку. Ви не повинні торкатися цих файлів, які гарантовано існують у macOS.

Homebrew встановлюється окремо в / usr / local / Cellar. Використовуйте Homebrew для керування установкою Python і повністю ігноруйте встановлення системи.


Це було ТАК, гаразд довіряти цим двом посиланням, чи ні, не вірити їм? Ці посилання здаються якісними, добре обґрунтованими та поясненими досить непогано.
zipzit

1
@zipzit Ви можете їм довіряти, але вони не спрацюють - це дві речі. Зміст надійний; спробуйте його на останній версії macOS, і це не принесе шкоди, але також не вийде з причин, наведених у цій відповіді. Я настійно рекомендую не відключати SIP просто для видалення вашої системної установки Python (саме тому я не пов’язаний з інструкціями), оскільки це не є фактичною причиною вашої проблеми і не допоможе вирішити що-небудь, що може спричинити більше проблем у процесі.
гр

Ваша відповідь не має для мене сенсу. Жодна відповідь на якість, пов'язана вище, не стосується нічого /system. None = Не один, Нуль, Zip, Nada. У папці «Програми» можна видалити речі з папки «Python 3.3». 2) /Library/Frameworks/Python.framework 3) ~ 20 символьних посилань у / usr / local / bin. 4) посилання на шлях оболонки (якщо вона існує). Я не думаю, що жоден із них не потрапить на захист, про який ви говорите. Що я пропускаю?
zipzit

@zipzit Зовсім недавно Python був переміщений з / Бібліотека в / Система / Бібліотека, тому ви будете торкатися / Система, намагаючись зняти інсталяцію системи. Рамка системи Python знаходиться в /System/Library/Frameworks/Python.framework, а не / Library.
гр

$which python /Library/Frameworks/Python.framework/Versions/2.7/bin/python $ which python3 /usr/local/bin/python3плюс python 2.3, 2.4, 2.5, 2.7 та струм, розташований уSystem/Library/Frameworks/Python.framework/Versions/...
zipzit
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.