Как удалить Python 2.7 на Mac OS X 10.6.4?

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

Ответ 1

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


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


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

  1. Удалите сторонний Python 2.7 фреймворк

    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.

Ответ 2

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

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

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

Ответ 3

Если вы установили его с помощью установщика 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

Ответ 4

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

brew uninstall python

не удалит изначально установленный Python, а скорее версию, установленную вместе с brew.

Ответ 5

Не нужно удалять старые версии python.

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

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

", который python" и "which python3.3"

затем удалите существующую софт-ссылку python и назовите ее на python3.3

Ответ 6

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

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

Ответ 7

Onur Güzel предоставляет решение в своем блоге, Удалить пакет Python из OS X.

Вы должны ввести в терминал следующие команды:

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

    где команда x.y - это версия установленного Python. Согласно вашему вопросу, это должно быть 2,7.

В словах Onur:

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

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

Ответ 8

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


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

brew uninstall python

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

brew uninstall --force python3

Ответ 9

Все приведенные выше ответы верны, но для меня это то, что сработало:

sudo -i
which python
ls -ltra /usr/local/bin/python
rm -rf /usr/local/Cellar/python\@2/

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

Если вы просто хотите установить более новую версию python, используйте brew, а затем выполните brew install python. В настоящее время после установки вам нужно будет набрать python3. enter image description here