解决Python报错:subprocess-exited-with-error

解决Python错误:subprocess-exited-with-error

note: This error originates from a subprocess, and is likely not a problem with pip

要解决错误“subprocess-exited-with-error: This error originated from a subprocess, and is likely not a problem with pip”:

  1. pip升级您的,setuptools版本wheel
  2. 确保您没有缺少任何依赖项。
  3. 确保包支持您的 Python 版本。
note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for X ERROR: Could not build wheels for X, which is required to install pyproject.toml-based projects [end of output] error: subprocess-exited-with-error × pip subprocess to install build dependencies did not run successfully.exit code: 1 ╰─> See above for output.

pip升级你的, setuptoolsand版本wheel

您应该尝试的第一件事是升级您的
pip
setuptools
wheel版本。

pip install wheel setuptools pip --upgrade pip3 install wheel setuptools pip --upgrade # 👇️ if you don't have pip in your PATH environment variable python -m pip install wheel setuptools pip --upgrade python3 -m pip install wheel setuptools pip --upgrade py -m pip install wheel setuptools pip --upgrade

更新 wheel setuptools pip

pip install升级后尝试运行该命令并且 pipsetuptoolswheel

尝试将你的版本降级pip21.3.1

如果错误未解决,请尝试
在运行之前将您的版本降级
pip21.3.1pip install

pip install pip==21.3.1 pip3 install pip==21.3.1 python -m pip install pip==21.3.1 python3 -m pip install pip==21.3.1 py -m pip install pip==21.3.1

--use-deprecated-legacy安装包时使用该选项

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

pip install numpy --use-deprecated=legacy-resolver pip3 install numpy --use-deprecated=legacy-resolver python -m pip install numpy --use-deprecated=legacy-resolver python3 -m pip install numpy --use-deprecated=legacy-resolver py -m pip install numpy --use-deprecated=legacy-resolver # -------------------------------------------------------------- # 👇️ set to backtrack-on-build-failures for older versions of pip pip install numpy --use-deprecated=backtrack-on-build-failures pip3 install numpy --use-deprecated=backtrack-on-build-failures python -m pip install numpy --use-deprecated=backtrack-on-build-failures python3 -m pip install numpy --use-deprecated=backtrack-on-build-failures
确保替换numpy为您要安装的包的名称。

--use-deprecated选项允许我们在安装模块时使用旧的解析器行为。

您的错误消息可能包含其他信息

如果这些建议没有帮助,请阅读错误消息的末尾。

它可能包含以下信息:“RuntimeError:无法在 Python 版本 3.11.0 上安装;仅支持 >=3.7、<3.11 的版本。”

在这种情况下,您必须使用包支持的 Python 版本。

您的错误消息还可能包含您必须安装的缺失包,例如
ModuleNotFoundError: No module named ‘X’

ImportError: cannot import name ‘X’

如果是这种情况,您必须pip install在安装其他软件包之前从错误消息中找到该软件包。

pip install <package_from_error_message> pip3 install <package_from_error_message>

确保你没有拼错包的名字

错误的另一个常见原因是拼错了包的名称,并试图错误地安装一些损坏的、过时的模块。

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

如果您使用的是 Windows,请确保安装了 Microsoft 构建工具。

您的错误消息可能包含诸如“错误:需要 Microsoft Visual C++ 14.0 或更高版本。使用“Microsoft C++ 构建工具”获取它:
https:
//visualstudio.microsoft.com/visual-cpp-build-tools/
之类的信息。

下载
Microsoft Build 工具
并在安装时选中“使用 C++ 进行桌面开发”复选框。

安装微软构建工具

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

错误“注意:此错误源自子进程,可能不是 pip 的问题”有时是由于您尝试安装的包
没有适用
于您的 Python 版本的轮子。

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

python --version

获取 python 版本

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

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

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

--pre安装带有选项的模块

不过,您应该尝试的第一件事是使用pip install--pre选项运行命令。

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

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

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

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

安装特定的python版本

如果出现提示,请确保勾选以下选项:

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

如果这没有帮助并且您还没有虚拟环境,请尝试创建一个。

创建虚拟环境

要解决“注意:此错误源自子进程,并且可能不是 pip 的问题”错误:

  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 # 👇️ upgrade pip pip install --upgrade pip # 👇️ install the specific package in the virtual environment pip install requests

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

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

使用特定的 pip 版本安装包

您可能安装了多个 python 版本。

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

python --version python3 --version

获取 python 版本

例如,我的 Python 版本是3.10.4,所以我将使用
pip3.10 install package-name.

pip3.10 install package-name

请注意,版本号对应于我正在使用的版本pip

确保替换package-name为您要安装的软件包的实际名称。

如果您的 pip 安装有问题,请查看我的另一篇关于如何在所有操作系统上正确安装和升级 pip 的文章。

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

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

pip install requests -vvv pip3 install requests -vvv python -m pip install requests -vvv

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

pip install命令以详细模式运行时,命令会显示更多输出以及错误发生的方式。

额外资源

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