Как удалить Python 2.7 на Mac OS X 10.6.4? - PullRequest
278 голосов
/ 29 сентября 2010

Я хочу полностью удалить Python 2.7 из моей Mac OS X 10.6.4. Мне удалось удалить запись из переменной PATH, вернув мой .bash_profile. Но я также хочу удалить все каталоги, файлы, символические ссылки и записи, которые были установлены установочным пакетом Python 2.7. Я получил установочный пакет от http://www.python.org/. Какие записи каталогов / файлов / файлов конфигурации мне нужно удалить? Есть ли где-нибудь список?

Ответы [ 8 ]

568 голосов
/ 29 сентября 2010

Не пытайтесь удалить систему Python, поставляемую Apple, которая находится в /System/Library и /usr/bin, так как это может повредить всю вашу операционную систему.


ПРИМЕЧАНИЕ: Перечисленные ниже действия не влияют на поставляемую Apple систему Python 2.7; они удаляют только сторонний Python-фреймворк, такой как установленный установщиками python.org .


Полный список задокументирован здесь . По сути, все, что вам нужно сделать, это следующее:

  1. Удаление стороннего Python 2.7 framework

    sudo rm -rf /Library/Frameworks/Python.framework/Versions/2.7
    
  2. Удалить каталог приложений Python 2.7

    sudo rm -rf "/Applications/Python 2.7"
    
  3. Удалите символические ссылки в /usr/local/bin, которые указывают на эту версию Python. Смотрите их, используя

    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.

73 голосов
/ 25 апреля 2012

Это работает:

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

Описание: Он перечисляет все ссылки, удаляет символ @ и затем удаляет их.

23 голосов
/ 26 июня 2012

Если вы установили его с помощью установщика 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 (по состоянию на Q1`2014, который будет включать Lion, Mountain Lion и Mavericks).Если кто-то, кто приходит к этой инструкции, попытается использовать его со львом, вместо этого следует попытаться адаптировать его к тому, что говорится в этом посте: https://wincent.com/wiki/Uninstalling_packages_(.pkg_files)_on_Mac_OS_X

17 голосов
/ 13 июля 2016

Попытка удалить Python с помощью

brew uninstall python

будет не удалять установленный на Python, а версию, установленную с brew.

8 голосов
/ 30 мая 2015

Что касается удаления символических ссылок, я нашел это полезным.

find /usr/local/bin -lname '../../../Library/Frameworks/Python.framework/Versions/2.7/*' -delete
5 голосов
/ 22 сентября 2017

Onur Güzel предлагает решение в своем сообщении в блоге, "Удаление пакета Python из 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 - это версия установленного PythonСогласно вашему вопросу, оно должно быть 2.7.

По словам Онура:

ПРЕДУПРЕЖДЕНИЕ: Эта команда удалит весь Pythonверсии, установленные с пакетами. На Python, предоставленный системой, это не повлияет.

Если у вас установлено более 1 версии Python, установленной с python.org, то снова запустите четвертую команду, изменив "xy"каждая версия Python, которая должна быть удалена.

5 голосов
/ 28 сентября 2013

Нет необходимости удалять старые версии Python.

Просто установите новую версию, скажем, python-3.3.2-macosx10.6.dmg и измените программную ссылку python на недавно установленный python3.3

Проверьте путь по умолчанию для python и python3.3 с помощью следующих команд

«какой python» и «which python3.3»

, затем удалите существующую мягкую ссылку python и укажите ее на python30,3

4 голосов
/ 16 июля 2015

Примечание : Если вы установили Python с помощью Homebrew, вы можете выполнить следующие шаги, в противном случае ищите другое решение!


Чтобы удалить Python 2.7.10, который вы установили с помощью Homebrew, вы можете просто выполнить следующую команду:

brew uninstall python

Аналогично, если вы хотите удалить Python 3 (который вы установили с помощью Homebrew):

brew uninstall --force python3
...