Как удалить 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/. Какие каталоги / файлы / записи файла конфигурации мне нужно удалить? Есть ли где-нибудь список?

18 ответов

Решение

Не пытайтесь удалить любую поставляемую 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,

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

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

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

Создайте символическую ссылку на последнюю версию

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

Закройте и откройте новый терминал

и попытаться

 python --version

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

 --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

Удаление с помощью brew uninstall python не удалит изначально установленный python, а версон, установленный с brew.

Не нужно удалять его или сходить с ума от символических ссылок, просто используйте alias. Я столкнулся с той же проблемой при обновлении до Python 3.7.1.
Просто установите новую версию Python, используяbrew install python тогда в вашем .bash_profileсоздать псевдоним, указывающий на новую версию python; как это:alias python="/usr/local/bin/python3" затем сохраните и запустите source ~/.bash_profile.
Выполнено.

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

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

Я столкнулся с той же проблемой при обновлении до python 3.9 с python 2.7.16. Просто установите новую версию python с помощью brew install python или загрузите и установите для своей ОС, а затем

  1.         sudo rm -rf /Library/Frameworks/Python.framework/Versions/2.7
    
  2.         sudo rm -rf "/Applications/Python 2.7"
    
  3.         ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7'
    
  4. затем проверьте ->

  5. в твоей .bash_profileсоздать псевдоним, указывающий на новую версию Python; как это:

            alias python="/usr/local/bin/python3" 
    

    затем сохраните и запустите исходный код ~/.bash_profile.

  6. проверить -> python --version

все готово

На MacOS, где python3 был установлен с brew:

      sudo ln -s -f /opt/homebrew/bin/python3 /usr/local/bin/python
sudo ln -s -f /opt/homebrew/bin/pip3 /usr/local/bin/pip

Открыть терминал

      python --version
pip --version

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

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

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

"какой питон" и "какой питон3.3"

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

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, которую необходимо удалить.

Это то, что у меня сработало на Mac OS

  1. Загрузите последнюю версию Python 3.x с https://www.python.org/downloads/mac-osx/

  2. Установите Python 3.x, выполнив шаги по установке, которые появляются, когда вы нажимаете на установщик.

  3. ln -s -f /usr/local/bin/python3.9 /usr/local/bin/python

  4. ln -s -f /usr/local/bin/pip3 /usr/local/bin/pip

  5. Откройте новое окно терминала и проверьте python --version. Должен сказать 3.x

Для шага 3 подтвердите путь к существующему исполняемому файлу python, проверив вывод which python

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


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

brew uninstall python

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

brew uninstall --force python3

Если вы думаете о том, чтобы вручную удалить Python 2.7, установленный Apple по умолчанию, я бы посоветовал вам подождать и отметить: похоже, Apple очень скоро сделает это за вас:

Python 2.7 устарел в OSX 10.15 Catalina

Python 2.7, а также Ruby и Perl устарели в Catalina: (перейдите к разделу "Среда выполнениясценариев" > "Устаревшие")

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

Apple, чтобы удалить Python 2.7 в OSX 10.16

Действительно, если вы вообще ничего не сделаете, согласно Mac Observer, в OSX версии 10.16 Python 2.7 исчезнет из вашей системы:

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

Учитывая это разоблачение, я бы посоветовал лучше всего ничего не делать и ждать, пока Apple сотрет это за вас. Поскольку Apple неизбежно собирается удалить его за вас, похоже, не стоит рисковать возиться со своей средой Python.

ПРИМЕЧАНИЕ. Я вижу, что вопрос относится конкретно к OSX v 10.6.4, но, похоже, этот вопрос стал поворотной точкой для всех людей, работающих с OSX, заинтересованных в удалении Python 2.7 из своих систем, независимо от версии, которую они используют.

Осторожно при попытке удалить определенную библиотеку python, Mac OS нужен python! НЕ удаляйте версии Python из следующих папок:

      /usr/bin
system/Library

Эти версии Python 2.7 установлены Apple и используются Mac OS и другим программным обеспечением. Удаление Python из этих каталогов может сломать вашу систему.

Здесь вы увидите все предустановленные версии python, включая 2.3, 2.4 и даже 2.7.

/System/Library/Frameworks/Python.framework/Versions

Но даже с sudo я так не думаю, вы сможете их удалить. Вы получите ошибку - Operation not permitted

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

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. введите описание изображения здесь

Установите новую версию Python, используя brew install python. В .bash_profile или .zprofile создайте псевдоним, подобный этому: alias python="/usr/local/bin/python3" Готово.

Другие вопросы по тегам