错误:pip install 的旧版安装失败[已修复]
Error: legacy-install-failure with pip install [Fixed]
要解决“错误:legacy-install-failure”:
- 在运行之前
升级您的pip
、setuptools
和版本。wheel
pip install
- 检查该包是否支持您的 Python 版本。
- 在 Windows 上,从非官方二进制文件下载并安装软件包。
- 尝试使用该选项安装软件包
--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
升级后重新运行该命令setuptools
并wheel
。
如果您无法升级 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
仅查找稳定版本。
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
该包的文件并安装它。
.whl
如果您使用的是 Windows,请下载并安装文件
如果您使用的是 Windows,您还可以.whl
从
https://www.lfd.uci.edu/~gohlke/pythonlibs/
网站下载合适的文件。
首先,获取您的 Python 版本并
检查您的 Python 安装是 64 位还是 32 位。
您可以通过打开 CMD 并输入 来完成此操作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
:
- 在资源管理器中打开包含该文件的目录。
- 在资源管理器中按下
Shift
并右键单击。
- 单击“在此处打开 PowerShell 窗口”。
- 运行以下命令。
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
您可以在包的 pypi 页面的下载文件部分检查包是否
具有可用于特定 Python 版本的
轮子。
cp310
“Built Distributions”下的文件名称表示特定操作系统支持 Python 版本 3.10。如果您使用多个 Python 版本,请确保
在 IDE 中选择正确的 Python 解释器。
如果这些.whl
文件不适用于您的 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
创建虚拟环境
如果错误仍然存在,请尝试创建虚拟环境。
- 创建虚拟环境。
- 激活虚拟环境。
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”:
- 在运行之前
升级您的pip
、setuptools
和版本。wheel
pip install
- 检查该包是否支持您的 Python 版本。
- 在 Windows 上,从非官方二进制文件下载并安装软件包。
- 尝试使用该选项安装软件包
--pre
。
解决特定包错误的示例
以下是解决安装特定软件包时出现的错误的 2 个示例。
目录
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
运行以下命令来升级pip
、setuptools
和wheel
。
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
仅查找稳定版本。
wheel
检查包是否支持你的Python版本
安装时出现错误wxPython
有时是由于您尝试安装的包不适合wheels
您的 Python 版本而导致的。
您可以使用以下python --version
命令检查您的 Python 版本。
python --version
您可以在包的 pypi 页面的下载文件部分检查包是否具有可用于特定 Python 版本的轮子。
cp310
“Built Distributions”下的文件名称表示特定操作系统支持 Python 版本 3.10。如果这些.whl
文件不适用于您的 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
变量设置为。true
grpcio
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
运行以下命令来升级pip
、setuptools
和wheel
。
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
仅查找稳定版本。
wheel
检查包是否支持你的Python版本
安装 grpcio 时的错误有时是由于您尝试安装的软件包不适合wheels
您的 Python 版本而导致的。
您可以使用以下python --version
命令检查您的 Python 版本。
python --version
您可以在包的 pypi 页面的下载文件部分检查包是否具有可用于特定 Python 版本的轮子。
cp310
“Built Distributions”下的文件名称表示特定操作系统支持 Python 版本 3.10。如果这些.whl
文件不适用于您的 Python 版本,您可以下载旧版本。
如果包不支持最新的 Python 版本,您可以下载该包支持的特定 Python 版本。
“寻找特定版本”表中提供了不同的版本
。
如果出现提示,请务必勾选以下选项:
- 为所有用户安装启动器(推荐)
- 将 Python 添加到 PATH(这会将 Python 添加到您的 PATH 环境变量)
额外资源
您可以通过查看以下教程了解有关相关主题的更多信息: