Python无法从PyPI安装新的软件包

1,710 阅读2分钟

Python Can't Install New Packages from PyPI

在本教程中,我们将深入探讨你无法从PyPI安装新包的几个原因。

这篇文章将描述不同种类的错误和它们在Python中的解决方案--在Linux和Windows中测试。

关于用Pip安装Python软件包的文档:pip install

原因1:依赖错误 - "安装构建依赖...错误"

阻止你安装最新版本软件包的第一个原因是依赖性错误。

在下面的例子中,我们正试图安装black==20.8b1

pip install black

但由于下一个错误,安装失败。

 pip install black==20.8b1
Collecting black==20.8b1
  Using cached black-20.8b1.tar.gz (1.1 MB)
  Installing build dependencies ... error

一个可能的解决方案是检查软件包的最新版本,并安装其中的一个。

  • 被你的版本支持的
  • 不存在依赖性问题
pip install black==19.10b0

原因2:在安装新包前升级pip/setuptools

如果出现错误或得到错误的软件包版本,你可以尝试升级你的软件包管理器。

如果是pip

python -m pip install --upgrade pip

最新的软件包版本可能需要在最新版本的pip,conda 等中存在的功能。

一些软件包还需要软件包setuptools ,可以通过以下方式进行升级。

pip install setuptools --upgrade

pip install -U setuptools

原因3:软件包不被Python版本所支持

当一个新的Python版本发布时(如3.8,3.9等),软件包需要更新以支持它。

你会面临这样的错误。

running dist_info
        running build_src
        build_src
        building py_modules sources
        creating build
        creating build\src.win-amd64-3.9
        creating build\src.win-amd64-3.9\numpy
        creating build\src.win-amd64-3.9\numpy\distutils
        building library "npymath" sources
        error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/

error: Microsoft Visual C++ 14.0 is required (Unable to find vcvarsall.bat)

ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

如果你安装一个全新的版本,很有可能许多软件包会安装失败。

在这种情况下,有两件事你可以做。

  1. 验证最新的稳定和安全的 Python 版本,从:

你可以找到 -end-of-life,securitybugfix 。采取最新的安全版本。

Python Can't Install New Packages from PyPI

  1. 检查有问题的软件包是否支持你的 Python 版本。

Python Can't Install New Packages from PyPI

对Windows的奖励。Windows的Pip版本 - pipwin

Pipwin的广告词是:。

pipwin是Windows上pip的补充工具。 pipwin安装非官方的Python软件包二进制文件,用于Windows。

如果你使用Windows和Python,它可以帮助你。

pip install pipwin
pipwin install black