找不到满足 tensorflow 要求的版本

找不到满足 tensorflow 要求的版本

Could not find version that satisfies the requirement tensorflow

出现“Could not find a version that satisfy the requirement tensorflow”的错误有多种原因:

  • 使用 32 位版本的 Python 作为 TensorFlow 仅支持 64 位 Python
  • 使用 Python 2 的过时版本pip或使用pipPython 2 而不是
    pip3.
  • 使用 TensorFlow 不支持的 Python 版本。
Collecting tensorflow Could not find a version that satisfies the requirement tensorflow (from versions: ) No matching distribution found for tensorflow.

升级你的版本pip

要做的第一件事是
升级你的 pip 版本

当您尝试使用比受支持tensorflow 的旧版本进行安装时,通常会导致该错误。pip

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,尝试安装
tensorflow

# 👇️ in a virtual environment or using Python 2 pip install tensorflow # 👇️ for python 3 (could also be pip3.10 depending on your version) pip3 install tensorflow # 👇️ if you get permissions error sudo pip3 install tensorflow # 👇️ if you don't have pip in your PATH environment variable python -m pip install tensorflow # 👇️ for python 3 (could also be pip3.10 depending on your version) python3 -m pip install tensorflow # 👇️ for Anaconda conda install -c conda-forge tensorflow

如果错误仍然存​​在,请尝试tensorflow
TensorFlow 软件包的官方 URL安装。

您指定的值取决于您的 Python 版本。您可以在文档中查看此表中的所有 URLS

下面是一个使用 Python 3.10 安装 URL 的示例。

如果您有别名,则可以替换python3为。python

# 👇️ for Windows python3 -m pip install --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow_cpu-2.10.0-cp310-cp310-win_amd64.whl # 👇️ for macOS python3 -m pip install --upgrade https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.10.0-cp310-cp310-macosx_10_14_x86_64.whl # 👇️ for Linux python3 -m pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

TensorFlow 支持的所有 Python 版本的官方安装 URL 可在
文档的此表中找到。

TensorFlow 有特定的要求

TensorFlow 模块有几个要求。

该模块仅支持 64 位 Python。

在您的 shell 中运行以下命令以
检查您的 Python 是否为 64 位

python -c "import sys; print(sys.maxsize > 2**32)"

检查python是否为64位

如果命令的输出是True,那么您的 Python 是 64 位的。

TensorFlow 模块还支持特定范围的 Python 版本。

以下是撰写本文时 TensorFlow 的要求:

  1. Python 版本 3.7-3.10(必须是 64 位)
  2. pip适用于 Linux 和 Windows 的 19.0 或更高版本
  3. pipmacOS 版本 20.3 或更高版本

这是
官方文档中的要求列表

您可以通过运行以下命令来检查您的 Python 版本。

python --version

检查 python 版本

如果您的 Python 不是 64 位或您的 Python 版本超出支持范围,则必须安装支持的版本。

您可以从官方下载页面下载受支持的 Python 版本

确保 Python 包是 64 位的,并且在 TensorFlow 支持的版本范围内。

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

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

如果您使用 Anaconda,
您可以

使用以下命令
安装特定的 Python 版本:

conda install python=3.10.6

TensorFlow 很有可能支持最新的 Python 版本,但请查看
要求列表以确保

如有必要,您可以下载包支持的特定 Python 版本(如果它不支持最新的 Python 版本)。

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

安装特定的python版本

下载受 TensorFlow 支持的版本后,尝试运行该
pip install tensorflow命令。

# 👇️ Requires the latest pip pip install --upgrade pip # 👇️ in a virtual environment or using Python 2 pip install tensorflow # 👇️ for python 3 (could also be pip3.10 depending on your version) pip3 install tensorflow # 👇️ if you get permissions error sudo pip3 install tensorflow # 👇️ if you don't have pip in your PATH environment variable python -m pip install tensorflow # 👇️ for python 3 (could also be pip3.10 depending on your version) python3 -m pip install tensorflow # 👇️ for Anaconda conda install -c conda-forge tensorflow

如果这不起作用,请尝试使用 运行命令python -m

使用“python -m pip install tensorflow”安装tensorflow

尝试pippython -m pip install tensorflow.

pip如果您的 PATH 环境变量中没有,这是必需的。

# 👇️ if you don't have pip in your PATH environment variable python -m pip install tensorflow # 👇️ for Python 3 outside of a virtual environment python3 -m pip install tensorflow

pip3您也可以尝试使用而不是安装包pip

pip3 install tensorflow

如果这不能解决错误,请尝试安装范围仅限于用户的软件包。

使用 –user 选项安装包

该错误通常是由于没有必要的权限为机器上的所有用户安装软件包而引起的。

要解决该错误,请使用该选项安装适用于特定用户的软件包
--user

pip install tensorflow --user pip3 install tensorflow --user python3 -m pip install tensorflow --user

--user选项将包安装在用户的主目录中。

该命令基本上安装范围为特定用户的包,而不是整个系统。这有助于解决权限问题。

--user如果出现权限错误,请尝试使用标志或使用运行命令sudo

sudo pip install tensorflow sudo pip3 install tensorflow sudo python3 -m pip install tensorflow

如果那没有解决错误,请尝试升级模块。

使用 –upgrade 选项升级包

如果您尝试安装不支持您的 Python 版本的旧版本软件包,也会导致该错误。

如果是这种情况,请尝试升级软件包的版本。

pip install tensorflow --upgrade pip3 install tensorflow --upgrade python3 -m pip install tensorflow --upgrade

您也可以尝试安装特定版本的模块。

python3 -m pip install --pre --upgrade tensorflow==XX.XX.XX

您必须在等号后指定版本号。

tensorflow您可以通过输入命令查看所有版本 pip install tensorflow==
pip install tensorflow== pip3 install tensorflow==

这是在我的终端中发出命令的屏幕截图。

获取所有 tensorflow 版本

输出包含包的所有版本的元组,从最旧到最新。

例如,如果我想安装 version 2.10.0,我会运行以下命令。

python3 -m pip install --pre --upgrade tensorflow==2.10.0

如果从 requirements.txt 文件安装,请确保它包含依赖项

requirements.txt如果您从带有 的文件
安装
pip install -r requirements.txt,则必须确保该文件包含所有包及其依赖项。

这可以通过运行并生成一个包含所有依赖项的pip install <package-name>
文件
来完成。
requirements.txt

pip freeze > requirements.txt pip3 freeze > requirements.txt

如果您的requirements.txt文件仅包含包的某些依赖项,则通常会发生此错误

requirements.txt您还可以根据错误消息的输出手动将包的依赖项添加到您的
文件中。

--pre尝试使用选项运行 pip install tensorflow 命令

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

pip install tensorflow --pre pip3 install tensorflow --pre python -m pip install tensorflow --pre python3 -m pip install tensorflow --pre
--pre如果您需要访问稳定版本中尚不可用的功能,则需要运行该命令。

尝试从官方安装 URL 安装

如果错误仍然存​​在,请尝试tensorflow
官方安装 URL安装。

在某些情况下,从 URL 安装是您唯一的选择。

您指定的值取决于您的 Python 版本。您可以在文档中查看此表中的所有 URLS

下面是一个使用 Python3.10安装 URL 的示例。

如果您有别名,则可以替换python3为。python

# 👇️ for Windows python3 -m pip install --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow_cpu-2.10.0-cp310-cp310-win_amd64.whl # 👇️ for macOS python3 -m pip install --upgrade https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.10.0-cp310-cp310-macosx_10_14_x86_64.whl # 👇️ for Linux python3 -m pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

TensorFlow 支持的所有 Python 版本的官方安装 URL 可在
文档的此表中找到。

尝试在虚拟环境中安装tensorflow

另一件可能有帮助的事情是创建一个虚拟环境(如果您还没有的话)。

# 👇️ 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 # 👇️ Requires the latest pip pip install --upgrade pip # 👇️ install tensorflow in virtual environment pip install tensorflow

确保根据您的操作系统使用正确的激活命令。

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

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

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

pip install tensorflow -vvv pip3 install tensorflow -vvv python -m pip install tensorflow -vvv

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

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

结论

要解决错误“找不到满足要求的版本 tensorflow”,请确保:

  1. 使用 64 位版本的 Python。
  2. 安装最新版本pip
  3. 使用 TensorFlow 支持的 Python 版本。
  4. 您具有安装该软件包所需的权限。

额外资源

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