Давайте полагать, что мы установили python-pip
и python-pip3
пакеты для получения pip
и pip3
в нашей системе.
Поскольку далеко я могу понять pip
s являются диспетчерами пакетов для pypi.org. Я ожидаю, что у них есть функциональность, подобная apt update
, apt upgrade
и apt dist-upgrade
.
Как правильно обновить все модули Python до новейших стабильных версий с pip
или pip3
?
Это Могло работать на более старые версии зернышка:
pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
Я протестировал это на pip2 и pip3 с успехом, хотя я не уверен, существует ли лучший способ сделать это.
pip freeze | sed 's/==.*//' | xargs pip install -U
Вы хотели бы добавлять --user
после pip freeze
и pip install
если Вы только хотите к пакетам обновления, установленным на Вашей учетной записи пользователя вместо системы. При обновлении системы пакеты Python, необходимо будет работать pip install
с sudo
иначе Вы, вероятно, совершите нападки, разрешение отклонило ошибку.
С зернышком нет понятия 'новейшей конюшни', поскольку существует в Debian/Ubuntu.
'Новейшие стабильные' пакеты в Debian/Ubuntu тестируются для работы правильно со всеми другими пакетами в распределении.
С зернышком можно обновить все модули Python, но Вы обновите все модули до последней версии, доступной в репозитории. Это будет Ваша обязанность проверить, что все все еще продолжает работать. Могут быть проблемы из-за новых ошибок или несовместимых изменений.
Из-за этого никогда не обновляйте модули Python ОС, которым предоставляют, с зернышком (опция: - система), если Вы не готовы восстановить возможную поломку.
Это может иметь большой смысл обновить все модули, установленные в Вашей пользовательской среде, или лучше в виртуальной среде. Команда должна быть:
pip freeze | awk '{print $1}' | xargs pip install -U
Для пользователей различных дистрибутивов и других случаев, проверьте:
pip help install
так как поведение по умолчанию (нет - пользователь или - системные опции) изменяется от производных Debian до стандартного Python.