[已解决] 在 Python 中为 h5py 构建轮子失败

[已解决]在 Python 中为 h5py 构建 wheel 失败

[Solved] Failed building wheel for h5py in Python

错误“Failed building wheel for h5py”错误的发生有多种原因:

  1. 拥有过时版本的pip,setuptoolswheel.
  2. 拥有不受h5py.
  3. 安装了与h5py模块冲突的包。

h5py 的构建轮错误失败

ERROR: Failed building wheel for h5py Failed to build h5py ERROR: Could not build wheels for h5py, which is required to install pyproject.toml-based projects
错误的最常见原因是,或的版本过时 pipwheelsetuptools

以下是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 # 👇️ if you don't have pip in your PATH environment variable python3 -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 h5py命令。

pip install h5py pip3 install h5py python -m pip install h5py python3 -m pip install h5py # 👇️ for Anaconda conda install -c conda-forge h5py

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

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

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

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

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

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

pip install h5py --no-cache-dir pip3 install h5py --no-cache-dir

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

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

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

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

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

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

如果您使用的是 Windows,请下载并安装一个.whl以解决错误。

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

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

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

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

您可以通过打开 CMD 并输入 来做到这一点python

获取 python 版本和位

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

现在,单击
https://www.lfd.uci.edu/~gohlke/pythonlibs/
链接,按
CTRL + f并搜索h5py或单击
以下链接

下载相应的.whl文件。例如,我会下载以下文件。

h5py‑3.7.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 h5py‑3.7.0‑cp310‑cp310‑win_amd64.whl pip3 install h5py‑3.7.0‑cp310‑cp310‑win_amd64.whl

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

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

创建虚拟环境

要解决“h5py 构建轮失败”错误:

  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 h5py

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

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

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

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

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

当您尝试安装的包不适wheels用于您的 Python 版本时,有时会出现错误“Failed building wheel for h5py”。

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

python --version

检查 python 版本

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

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

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

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

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

安装特定的python版本

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

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

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

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

pip install h5py -vvv pip3 install h5py -vvv python -m pip install h5py -vvv python3 -m pip install h5py -vvv

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

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

结论

要解决错误“Failed building wheel for h5py”,请确保:

  1. 您没有pip,setuptools或的过时版本wheel
  2. 您没有超出 支持的版本范围的 Python 版本h5py