错误:pip install 的旧版安装失败 [已修复]

错误:pip install 的旧版安装失败[已修复]

Error: legacy-install-failure with pip install [Fixed]

要解决“错误:legacy-install-failure”:

  1. 在运行之前
    升级您的
    pipsetuptools版本wheelpip install
  2. 检查该包是否支持您的 Python 版本。
  3. 在 Windows 上,从非官方二进制文件下载并安装软件包。
  4. 尝试使用该选项安装软件包--pre
Failed to build X Installing collected packages: X × Running setup.py install for X did not run successfully. │ exit code: 1 note: This error originates from a subprocess, and is likely not a problem with pip. error: legacy-install-failure × Encountered error while trying to install package. ╰─> X

pip升级您的,setuptools版本wheel

首先,在运行命令之前尝试升级您的pip
setuptools
Wheel版本pip install

pip以下是在所有操作系统上进行升级的命令。

哪个命令有效取决于您的操作系统和 Python 版本。

# 👇️ if you have pip already installed pip install --upgrade pip # 👇️ if your pip is aliased as pip3 (Python 3) pip3 install --upgrade pip # 👇️ if you don't have pip in your PATH environment variable python -m pip install --upgrade pip python3 -m pip install --upgrade pip py -m pip install --upgrade pip # 👇️ if you have easy_install easy_install --upgrade pip # 👇️ if you get a permissions error sudo easy_install --upgrade pip # 👇️ if you get a permissions error when upgrading pip pip install --upgrade pip --user # 👇️ upgrade pip scoped to the current user (if you get permissions error) python -m pip install --user --upgrade pip python3 -m pip install --user --upgrade pip # 👇️ Installing directly from get-pip.py (MacOS and Linux) curl https://bootstrap.pypa.io/get-pip.py | python # 👇️ if you get permissions issues curl https://bootstrap.pypa.io/get-pip.py | sudo python # 👇️ alternative for Ubuntu/Debian sudo apt-get update && apt-get upgrade python-pip # 👇️ alternative for Red Hat / CentOS / Fedora sudo yum install epel-release sudo yum install python-pip sudo yum update python-pip

现在已pip升级,请尝试运行该pip install <package>命令。

pip install requests pip3 install requests python -m pip install requests python3 -m pip install requests
确保替换requests为您要安装的软件包的名称。

如果错误未解决,请同时升级setuptools和软件包。wheel

pip install --upgrade setuptools wheel pip3 install --upgrade setuptools wheel python -m pip install --upgrade setuptools wheel python3 -m pip install --upgrade setuptools wheel py -m pip install --upgrade setuptools wheel

尝试pip install升级后重新运行该命令setuptoolswheel

如果您无法升级 pip 或 setuptools,请按照以下文章中的说明进行操作:

运行pip install带有--upgrade选项的命令

如果这没有帮助,请尝试pip install使用该选项运行命令--upgrade

pip install requests --upgrade pip3 install requests --upgrade python -m pip install requests --upgrade python3 -m pip install requests --upgrade

如果错误未解决,请尝试使用
–no-cache-dir选项安装软件包以禁用缓存。

pip install requests --no-cache-dir pip3 install requests --no-cache-dir

如果这没有帮助,请使用--pre包含该包的预发布版本和开发版本的选项。

pip install requests --pre pip3 install requests --pre python -m pip install requests --pre python3 -m pip install requests --pre

--pre选项使其pip包含该包的预发布版本和开发版本。默认情况下pip仅查找稳定版本。

这有时会有所帮助,因为该包的预发布版本可能适用于您的 Python 版本。 wheel

如果错误未解决,请尝试pip install使用该选项运行命令
--no-use-pep517

pip install --no-use-pep517 requests pip3 install --no-use-pep517 requests python -m pip install --no-use-pep517 requests python3 -m pip install --no-use-pep517 requests

如果您使用的是 Windows,请下载适合.whl该包的文件并安装它。

如果您使用的不是 Windows,请滚动到下一个小标题。

.whl如果您使用的是 Windows,请下载并安装文件

如果您使用的是 Windows,您还可以.whl
https://www.lfd.uci.edu/~gohlke/pythonlibs/
网站下载合适的文件。

首先,获取您的 Python 版本并
检查您的 Python 安装是 64 位还是 32 位

您可以通过打开 CMD 并输入 来完成此操作python

获取 python 版本和位

例如,屏幕截图显示我的Python版本是3.10,我的
Python解释器是64位

现在,单击
https://www.lfd.uci.edu/~gohlke/pythonlibs/
链接,按下
CTRL + f并搜索包的名称。

下载对应的.whl文件。例如,如果我尝试安装该gensim软件包,我将下载以下文件。

gensim‑4.2.0‑cp310‑cp310‑win_amd64.whl
cp310部分是版本(Python 3.10),表示 64 位。 amd64

打开文件后,在文件所在目录(例如C:\Users\Example\Downloads)中打开 shell 并使用以下命令安装它pip

  1. 在资源管理器中打开包含该文件的目录。
  2. 在资源管理器中按下Shift并右键单击。

windows 在此处打开 powershell 窗口

  1. 单击“在此处打开 PowerShell 窗口”。
  2. 运行以下命令。
pip install gensim‑4.2.0‑cp310‑cp310‑win_amd64.whl pip3 install gensim‑4.2.0‑cp310‑cp310‑win_amd64.whl

确保.whl正确指定文件名作为您的 Python 版本,包的名称可能会有所不同。

在 Windows 上安装 Visual C++ 构建工具

如果这没有帮助,并且您的错误消息包含类似以下内容:“错误:需要 Microsoft Visual C++ 14.0 或更高版本。使用“Microsoft C++ 构建工具”获取它:
https:
//visualstudio.microsoft.com/visual-cpp- build-tools/
,下载
Microsoft Build 工具
并在安装时选中“使用 C++ 进行桌面开发”复选框。

安装微软构建工具

检查包是否支持你的Python版本

当您尝试安装的包不适合wheels您的 Python 版本时,有时会导致该错误。

您可以使用以下python --version命令检查您的 Python 版本。

python --version

获取Python版本

您可以在包的 pypi 页面的下载文件部分检查包是否
具有可用于
特定 Python 版本的
轮子。

例如,cp310“Built Distributions”下的文件名称表示特定操作系统支持 Python 版本 3.10。

如果您使用多个 Python 版本,请确保
在 IDE 中选择正确的 Python 解释器

如果这些.whl文件不适用于您的 Python 版本,您可以下载旧版本。

如果包不支持最新的 Python 版本,您可以下载该包支持的特定 Python 版本。

“寻找特定版本”表中提供了不同的版本

安装特定的python版本

如果出现提示,请务必勾选以下选项:

  • 为所有用户安装启动器(推荐)
  • 将 Python 添加到 PATH(这会将 Python 添加到您的 PATH 环境变量)

检查包是否被重命名

当包被重命名时也会导致该错误。

例如,该Locust软件包已从“locustio”移至“locust”,因此您必须安装locust而不是安装locustio.

pip install locust pip3 install locust

您可以通过谷歌搜索“pypi package-name”来检查您尝试安装的软件包是否已重命名。

在 macOS 上安装 Xcode 开发者工具

如果您的错误消息类似于以下内容:

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

Xcode在安装软件包之前,您必须安装开发人员工具。

xcode-select --install

安装命令行工具pip install重新运行命令。Xcode

创建虚拟环境

如果错误仍然存​​在,请尝试创建虚拟环境。

  1. 创建虚拟环境。
  2. 激活虚拟环境。
  3. pip install在虚拟环境处于活动状态时运行命令。
# 👇️ use correct version of Python when creating VENV python3 -m venv venv # 👇️ activate on Unix or MacOS source venv/bin/activate # 👇️ activate on Windows (cmd.exe) venv\Scripts\activate.bat # 👇️ activate on Windows (PowerShell) venv\Scripts\Activate.ps1 # 👇️ install the specific package in the virtual environment pip install gensim

如果该python3 -m venv venv命令不起作用,请尝试以下 2 个命令:

  • python -m venv venv
  • py -m venv venv

确保根据您的操作系统和 shell 使用正确的命令来激活虚拟环境。

您的虚拟环境将使用用于创建它的 Python 版本。

尝试在详细模式下运行 pip install

如果所有建议都没有帮助,请尝试pip install在详细模式下运行该命令。

pip install numpy -vvv pip3 install numpy -vvv python -m pip install numpy -vvv

-v选项代表详细模式,最多可以使用 3 次。

当该pip install命令在详细模式下运行时,该命令会显示更多输出以及错误是如何发生的。

结论

要解决“错误:legacy-install-failure”:

  1. 在运行之前
    升级您的
    pipsetuptools版本wheelpip install
  2. 检查该包是否支持您的 Python 版本。
  3. 在 Windows 上,从非官方二进制文件下载并安装软件包。
  4. 尝试使用该选项安装软件包--pre

解决特定包错误的示例

以下是解决安装特定软件包时出现的错误的 2 个示例。

目录

  1. wxPython 错误:遗留安装失败
  2. grpcio 错误:遗留安装失败

wxPython 错误:遗留安装失败

要解决安装时出现的错误wxPython,请运行
pip install --upgrade pip setuptools wheel命令升级 pip、setuptools 和wheel 版本,然后重新运行该pip install wxPython命令。

× Running setup.py install for wxPython did not run successfully. │ exit code: 1 note: This error originates from a subprocess, and is likely not a problem with pip. error: legacy-install-failure × Encountered error while trying to install package. ╰─> wxPython

运行以下命令来升级pipsetuptoolswheel

pip install --upgrade pip pip3 install --upgrade pip pip install --upgrade setuptools wheel pip3 install --upgrade setuptools wheel

现在已pip升级,尝试运行
pip install wxPython命令。

pip install wxPython pip3 install wxPython python -m pip install wxPython python3 -m pip install wxPython py -m pip install wxPython conda install -c conda-forge wxpython

如果这没有帮助,请使用--pre包含该包的预发布版本和开发版本的选项。

pip install wxPython --pre pip3 install wxPython --pre python -m pip install wxPython --pre python3 -m pip install wxPython --pre

--pre选项使其pip包含该包的预发布版本和开发版本。默认情况下pip仅查找稳定版本。

这有时会有所帮助,因为该包的预发布版本可能适用于您的 Python 版本。 wheel

检查包是否支持你的Python版本

安装时出现错误wxPython有时是由于您尝试安装的包不适合wheels您的 Python 版本而导致的。

您可以使用以下python --version命令检查您的 Python 版本。

python --version

获取Python版本

您可以在包的 pypi 页面的下载文件部分检查包是否具有可用于特定 Python 版本的轮子。

例如,cp310“Built Distributions”下的文件名称表示特定操作系统支持 Python 版本 3.10。

如果这些.whl文件不适用于您的 Python 版本,您可以下载旧版本。

如果包不支持最新的 Python 版本,您可以下载该包支持的特定 Python 版本。

“寻找特定版本”表中提供了不同的版本

安装特定的python版本

如果出现提示,请务必勾选以下选项:

  • 为所有用户安装启动器(推荐)
  • 将 Python 添加到 PATH(这会将 Python 添加到您的 PATH 环境变量)

grpcio 错误:使用 pip install 时遗留安装失败

要解决安装时出现的“错误:legacy-install-failure” grpcio,请运行
pip install --upgrade pip setuptools wheel命令升级 pip、setuptools 和 Wheel 版本,然后重新运行该pip install grpcio命令。

Failed to build grpcio Installing collected packages: grpcio × Running setup.py install for grpcio did not run successfully. │ exit code: 1 note: This error originates from a subprocess, and is likely not a problem with pip. error: legacy-install-failure × Encountered error while trying to install package. ╰─> grpcio

如果您使用的是 macOS,请尝试在安装之前将GRPC_PYTHON_BUILD_SYSTEM_OPENSSL
GRPC_PYTHON_BUILD_SYSTEM_ZLIB变量设置为truegrpcio

GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=true GRPC_PYTHON_BUILD_SYSTEM_ZLIB=true pip install grpcio # 👇️ if you use Anaconda conda install -c conda-forge grpcio

运行以下命令来升级pipsetuptoolswheel

pip install --upgrade pip pip3 install --upgrade pip pip install --upgrade setuptools wheel pip3 install --upgrade setuptools wheel

现在已pip升级,请尝试运行该pip install grpcio命令。

pip install grpcio pip3 install grpcio python -m pip install grpcio python3 -m pip install grpcio py -m pip install grpcio conda install -c conda-forge grpcio

如果这没有帮助,请使用--pre包含该包的预发布版本和开发版本的选项。

pip install grpcio --pre pip3 install grpcio --pre python -m pip install grpcio --pre python3 -m pip install grpcio --pre

--pre选项使其pip包含该包的预发布版本和开发版本。默认情况下pip仅查找稳定版本。

这有时会有所帮助,因为该包的预发布版本可能适用于您的 Python 版本。 wheel

检查包是否支持你的Python版本

安装 grpcio 时的错误有时是由于您尝试安装的软件包不适合wheels您的 Python 版本而导致的。

您可以使用以下python --version命令检查您的 Python 版本。

python --version

获取Python版本

您可以在包的 pypi 页面的下载文件部分检查包是否具有可用于特定 Python 版本的轮子。

例如,cp310“Built Distributions”下的文件名称表示特定操作系统支持 Python 版本 3.10。

如果这些.whl文件不适用于您的 Python 版本,您可以下载旧版本。



如果包不支持最新的 Python 版本,您可以下载该包支持的特定 Python 版本。

“寻找特定版本”表中提供了不同的版本

安装特定的python版本

如果出现提示,请务必勾选以下选项:

  • 为所有用户安装启动器(推荐)
  • 将 Python 添加到 PATH(这会将 Python 添加到您的 PATH 环境变量)

额外资源

您可以通过查看以下教程了解有关相关主题的更多信息: