2017-01-04 4 views
0

Я получаю следующее уведомление каждый раз, когда я запустить терминал в последнее время:Как обновить MacOS Python пакеты

/usr/local/lib/python3.5/site-packages/powerline/bindings/ zsh/powerline.zsh: 200:/usr/local/bin/powerline-config: плохой интерпретатор: /usr/local/opt/python3/bin/python3.5: нет такого файла или каталога /usr/local/lib/python3.5/site-packages/powerline/bindings/zsh/powerline.zsh: 204:/usr/local/bin/powerline-config: плохой интерпретатор: /usr/local/opt/python3/bin/python3.5: no такой файл или каталог '

Я разместил т его на странице powerline GitHub как an issue, и мне сообщили, что я, вероятно, обновил мою версию Python на macOS, не зная (через homebrew или, возможно, с помощью системного обновления, так как я являюсь пользователем бета-версии macOS).

Есть ли способ обновить пакеты Python en-masse в macOS, как в Gentoo, как указано в связанной проблеме GitHub? Dev отметил, что в Gentoo есть сценарий python-updater, который используется для обновления пакетов после обновления Python, но такой скрипт не существует для macOS.

ОС: MacOS 10.12.3 Beta

Любая помощь будет оценен по достоинству!

- paanvaannd

ответ

0

Я думаю, что диагноз из GitHub страницы powerline правильно: вы обновили 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.

Если вы очистили предыдущую установку, попробуйте переустановить ее, используя this answer, а затем выполните указанные выше действия.

Если оба отказались, вы можете просто вручную переустановить свои пакеты. Посмотрите, что находится в /usr/local/lib/python3.5/site-packages/ для списка пакетов, которые вы установили через Pip, и установите их вручную. Лучше всего выбрать один с большим количеством зависимостей, чтобы сразу установить несколько пакетов.

+0

Благодарим за быстрый и информативный ответ! Я еще не выполнял «чистку чистки», поэтому я смог «переключиться» назад, и в настоящее время я устанавливаю старые пакеты заново. : +) – paanvaannd

 Смежные вопросы

  • Нет связанных вопросов^_^