让我们假设我们已经在系统上安装了python-pip
并获取了python-pip3
软件包。pip
pip3
据我所知pip
,pypi.org。我期望它们具有与apt update
、apt upgrade
和类似的功能apt dist-upgrade
。
如何使用pip
或正确地将所有 python 模块升级到最新稳定版本pip3
?
答案1
我已经在 pip2 和 pip3 上成功测试了这一点,尽管我不确定是否有更好的方法来做到这一点。
pip freeze | sed 's/==.*//' | xargs pip install -U
如果您只想升级安装到用户帐户而不是系统的软件包,您可能希望在和之后添加。--user
如果您要升级系统 Python 软件包,则需要运行 with,否则您可能会遇到权限被拒绝的错误。pip freeze
pip install
pip install
sudo
答案2
这可能适用于旧版本的 pip:
pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
答案3
pip 中没有像 Debian/Ubuntu 那样的“最新稳定”的概念。
Debian/Ubuntu 中的“最新稳定”软件包经过测试,可以与发行版中的所有其他软件包正确协同运行。
使用 pip,您可以升级所有 Python 模块,但您将把所有模块升级到存储库中可用的最新版本。您有责任验证一切是否仍能继续工作。由于新的错误或不兼容的更改,可能会出现问题。
因此,除非您准备好修复可能出现的故障,否则切勿使用 pip(选项:--system)升级操作系统提供的 python 模块。
升级用户环境中安装的所有模块非常有意义,或者最好在虚拟环境中升级。命令应该是:
pip freeze | awk '{print $1}' | xargs pip install -U
对于不同发行版和其他情况的用户,请检查:
pip help install
因为默认行为(没有 --user 或 --system 选项)从 Debian 衍生产品更改为标准 python。
答案4
以下是我在不使用的情况下升级本地安装的 pip 包(到用户的 $HOME 目录)的方法sudo
:
pip install --upgrade --user $(pip list --user | awk '{print $1}' | sed '1,2d')
这避免了手动升级 Wheel 和其他系统包等包,这可能会破坏您的设置。