在本教程中,我们将深入探讨你无法从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.
如果你安装一个全新的版本,很有可能许多软件包会安装失败。
在这种情况下,有两件事你可以做。
- 验证最新的稳定和安全的 Python 版本,从:
你可以找到 -end-of-life,security 和bugfix 。采取最新的安全版本。
- 检查有问题的软件包是否支持你的 Python 版本。
- 进入PyPI
- 找到你的软件包 -pypi.org/project/bla…
- 检查支持的版本
对Windows的奖励。Windows的Pip版本 - pipwin
Pipwin的广告词是:。
pipwin是Windows上pip的补充工具。 pipwin安装非官方的Python软件包二进制文件,用于Windows。
如果你使用Windows和Python,它可以帮助你。
pip install pipwin
pipwin install black