Как обновить пакеты macOS Python
Я получаю следующее уведомление каждый раз, когда я запускаю терминал в последнее время:
/usr/местные/библиотека/питон3.5/сайте-пакетов/линии электропередач/привязки/ЗШ/Powerline-адаптеров.zsh: 200: /usr / local / bin / powerline-config: плохой интерпретатор: /usr / local / opt/python3 / bin / python3. 5: нет такого файла или каталога /usr/местные/библиотека/питон3.5/сайте-пакетов/линии электропередач/привязки/ЗШ/Powerline-адаптеров.zsh: 204: /usr / local / bin / powerline-config: плохой интерпретатор: /usr / local / opt/python3 / bin / python3. 5: нет такого файла или каталог '
Я опубликовал это на странице powerline
GitHub как проблему и мне сообщили, что я, вероятно, обновил свою версию Python на macOS без моего ведома (через homebrew
или, возможно, через обновление системы, так как я являюсь бета-пользователем macOS).
Существует ли способ массового обновления пакетов Python в macOS, как в Gentoo, как указано в связанном выпуске GitHub? Разработчик упомянул, что в Gentoo есть скрипт python-updater
, который используется для обновления пакетов после обновления Python, но для macOS такого скрипта не существует.
OS: macOS 10.12.3 Beta
Любая помощь будет оценена!
-- paanvaannd
1 ответ:
Я думаю, что диагноз со страницы
powerline
GitHub верен: вы обновили Python 3.5 до 3.6 через Homebrew, поэтому вещи, ожидающие интерпретатора 3.5, сломаны. Я делал это пару раз.Лучший способ сохранить все в норме-это сохранить список установленных пакетов, удалить их, обновить Python через Homebrew,а затем переустановить список пакетов. В оболочке это будет:
$ pip3 list | cut -d " " -f 1 > package-list.txt # Store package names without versions $ pip3 uninstall -y $(cat package-list.txt) # Cannot use redirection $ brew update && brew upgrade python3 $ pip3 install $(cat package-list.txt)
Это не очень полезно для вас сейчас, потому что вы уже обновились без сохранения этого списка. Один из вариантов-откатить установку Python через Homebrew. Если вы еще не сделали
brew cleanup
, Вы можете сделатьbrew switch python3 3.5.x
(гдеx
- последняя версия, которая у вас была). После этого вы можете выполнить описанную выше процедуру, заменивbrew upgrade python3
наbrew switch python3 3.6.0
.Если вы очистили предыдущую установку, вы можете попробовать переустановить ее, используя этот ответ, а затем сделать то же самое.
Если оба варианта не сработают, вы можете просто вручную переустановить свои пакеты. Посмотри, что там внутри.
/usr/local/lib/python3.5/site-packages/
для списка пакетов, установленных через Pip, и установите их вручную. Лучше всего выбрать один с большим количеством зависимостей, так что вы устанавливаете много пакетов сразу.