Как обновить пакет с помощью pip? те не работают:
pip update
pip upgrade
Я знаю, что это простой вопрос, но он необходим, поскольку его не так легко найти (pip документация не появляется, а другие вопросы из-за актуальны, но не совсем об этом)
Как обновить пакет с помощью pip? те не работают:
pip update
pip upgrade
Я знаю, что это простой вопрос, но он необходим, поскольку его не так легко найти (pip документация не появляется, а другие вопросы из-за актуальны, но не совсем об этом)
Путь
sudo pip install [package_name] --upgrade
или короче
sudo pip install [package_name] -U
sudo
попросит вас ввести пароль пользователя root для подтверждения действия.
Если у вас нет пароля пользователя root (если вы не являетесь администратором), вам, вероятно, следует работать с virtualenv, а затем вы должны удалить sudo
:
pip install [package_name] --upgrade
Скрипт tl;dr для обновления всех установленных пакетов
Если вы хотите обновить только один пакет, обратитесь к @borgr answer. Я часто нахожу необходимым или, по крайней мере, приятным, чтобы обновить все мои пакеты сразу. В настоящее время pip изначально не поддерживает это действие, но с помощью сценариев sh это достаточно просто. Вы используете pip list
, awk
(или cut
и tail
) и подстановку команд. Мой обычный однострочный текст:
for i in $(pip list -o | awk 'NR > 2 {print $1}'); do sudo pip install -U $i; done
Это попросит пароль root. Если у вас нет к этому доступа, вам может пригодиться вариант --user
pip
или virtualenv.
import subprocess as sbp
import pip
pkgs = eval(str(sbp.run("pip3 list -o --format=json", shell=True,
stdout=sbp.PIPE).stdout, encoding='utf-8'))
for pkg in pkgs:
sbp.run("pip3 install --upgrade " + pkg['name'], shell=True)
Сохранить как xx.py
Затем запустите Python3 xx.py
Окружение: python3. 5+ pip10. 0+
Для неспецифического пакета и более общего решения вы можете воспользоваться pip-review, инструментом, который проверяет, какие пакеты могут/должны быть обновлены.
$ pip-review --interactive
requests==0.14.0 is available (you have 0.13.2)
Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit y