Answers:
我发现最好的方法是从终端运行此命令
sudo pip install [package_name] --upgrade
sudo
会要求输入您的root密码以确认操作。
注意:某些用户可能安装了pip3。在这种情况下,请使用
sudo pip3 install [package_name] --upgrade
pip update
并且pip upgrade
绝望地直到我看到--upgrade
这里。他们为什么不添加pip upgrade
命令?
sudo
不是必需的。
要自动升级所有过时的软件包(已使用pip安装),只需运行以下脚本,
pip install $(pip list --outdated | awk '{ print $1 }') --upgrade
在这里,pip list --outdated
将列出所有过期的软件包,然后将其通过管道传输到awk,因此它将仅打印名称。然后,$(...)
将其设为变量,然后自动完成所有操作。确保您具有权限。(sudo
如果您感到困惑,请放在pip前面)我会写一个脚本,pip-upgrade
代码如下:
#!/bin/bash
sudo pip install $(pip list --outdated | awk '{ print $1 }') --upgrade
然后使用以下脚本行进行准备:
sudo chmod +x pip-upgrade
sudo cp pip-upgrade /usr/bin/
然后,只需按一下pip-upgrade
,瞧!
awk: cmd. line:1: { print $1 })
pip
要求您使用该--format=legacy
选项,即pip list --outdated --format=legacy
。供大家参考:在许多Linux发行版上,通过pip盲目更新所有模块可能非常危险。他们中的许多人通过发行包提供特定的python模块,其中一些发行版(特别是RHEL)在更新狗屎时可能会崩溃……更不用说如果您通过pip更新,发行包可能会将您的更改还原将来的更新。
pip install $(pip list --outdated | tail +3 | grep -v sdist | awk '{ print $1 }') --upgrade
pip list --outdated
您将获得过期软件包的列表。pip install [package] --upgrade
它将升级[package]
并卸载以前的版本。要更新点:
py -m pip install --upgrade pip
同样,这将卸载以前版本的pip,并将安装最新版本的pip。
$ pip install pipupgrade
$ pipupgrade --latest --interactive
pipupgrade可帮助您从requirements.txt
文件升级系统,本地或软件包!它还有选择地升级不会破坏更改的软件包。与Python2.7 +,Python3.4 +和pip9 +,pip10 +,pip18 +兼容。
注意:我是该工具的作者。
pip3.7 list --outdated | sed -n -e '3,$s/ .*//p'
; 做pip3.7 install --upgrade $ i; 完成
该软件包最初是如何安装的?如果是通过apt进行的话,您就可以apt-get remove python-m2crypto
如果您是通过easy_install安装的,我敢肯定,唯一的方法就是将文件丢弃在lib,shared等目录下。
我将来的推荐?使用pip之类的工具安装软件包。此外,您可以查找一个称为virtualenv的东西,以便您的软件包是基于每个环境存储的,而不是仅基于root存储的。
使用pip,非常简单:
pip install m2crypto
pip install -U $(pip list --outdated | awk 'NR>2 {print $1}')
获取所有过时的软件包,并使用以下命令为每个过时的软件包创建批处理文件pip install xxx --upgrade