找不到满足要求的版本 X

目录

Could not find a version that satisfies the requirement X

  1. 找不到满足要求的版本 X
  2. 找不到满足 pandas 要求的版本
  3. 找不到满足要求的版本 numpy
  4. 找不到满足要求的版本 yaml
  5. 找不到满足 tkinter 要求的版本
  6. 找不到满足要求的版本 virtualenv
  7. 找不到满足 django 要求的版本
  8. 找不到满足 tensorflow 要求的版本
  9. 找不到满足 PIL 要求的版本
  10. 找不到满足 cv2 OpenCV 要求的版本

找不到满足要求的版本 X

出现“无法找到满足要求的版本”的错误有多种原因:

  • pip install -r requirements.txt在没有选项的情况下运行命令-r
  • 使用 Python 2 的过时版本pip或使用pipPython 2 而不是
    pip3.
  • 模块名称拼写错误。
  • 尝试安装内置模块(无需安装即可使用)。
  • 安装不支持您的 Python 版本的包。

报错找不到满足要求的版本

ERROR: Could not find a version that satisfies the requirement <package-name> (from versions: ) ERROR: No matching distribution found for <package-name>

-r从安装时指定选项requirements.txt

如果在运行命令时出现错误pip install requirements.txt,请确保指定-r选项。

# 👇️ in a virtual environment or using Python 2 pip install -r requirements.txt # 👇️ if you use Python 3 outside a virtual environment pip3 install -r requirements.txt # 👇️ if you don't have pip in your PATH environment variable python -m pip install -r requirements.txt # 👇️ for python 3 (could also be pip3.10 depending on your version) python3 -m pip install -r requirements.txt

该选项递归地在您的requirements.txt-r文件中安装包

如果您省略该-r选项,该命令会尝试安装一个名为requirements.txtwhich 不存在的包。

如果那没有解决错误,请升级您的pip.

升级你的 pip 版本

当您尝试使用比所需版本更旧的版本安装包时,通常会导致该错误pip

要解决该错误,请升级您的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

如果您收到错误“ModuleNotFoundError:Python 中没有名为‘pip’的模块”,请查看我的另一篇文章:

如果代码示例中的命令对您不起作用,请单击“在 Python 中安装 pip”链接。

升级 pip 后,
还要升级
setuptools 。

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

您可以运行pip --version命令来检查您的pip版本。

pip --version pip3 --version python --version

获取 pip 版本

您还可以通过从官方 python.org 网站下载安装程序
并运行它来升级您的 Python 版本。

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

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

使用“python -m pip install package_name”安装包

尝试pippython -m pip install example.

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

# 👇️ if you don't have pip in your PATH environment variable python -m pip install <package-name> # 👇️ for Python 3 outside of a virtual environment python3 -m pip install <package-name> # 👇️ on Windows py -m pip install <package-name>

确保将<package-name>占位符替换为实际包的名称,例如python -m pip install requests.

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

pip3 install <package-name>
如果包需要高于 3.0 的 Python 版本,则无法将其安装在 Python 2 环境中(范围限定pip为 Python 2)。

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

使用 –user 选项安装包

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

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

pip install <package-name> --user pip3 install <package-name> --user python3 -m pip install <package-name> --user

确保<package-name>用包的实际名称替换占位符,例如pip install requests --user.

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

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

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

sudo pip install <package-name> sudo pip3 install <package-name> sudo python3 -m pip install <package-name>

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

使用 –upgrade 选项升级包

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

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

pip install <package-name> --upgrade pip3 install <package-name> --upgrade python3 -m pip install <package-name> --upgrade

您也可以尝试
安装特定版本
的软件包。

这是您如何为 执行此操作的示例requests

python3 -m pip install --pre --upgrade requests==XX.XX.XX
确保替换requests为您尝试安装的包的名称。

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

您可以通过输入命令来查看包的所有版本
pip install example==,您可以在其中替换example为包的实际名称。

pip install example== pip3 install example==

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

获取所有包版本

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

您还可以通过以下方式查看包的所有版本:

  1. 谷歌搜索“包名 pypi”。
  2. 单击包的pypi页面。
  3. 点击“发布历史”。

获取包的版本

例如,如果我想安装包2.28.1的版本requests,我会运行以下命令。

python3 -m pip install --pre --upgrade requests==2.28.1

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

谷歌包的名称并检查包是否支持您的 Python 版本。

例如,如果我用谷歌搜索“requests pypi”并点击
pypi.org页面,我可以在左侧边栏的Meta>下看到支持的 Python 版本Requires

包支持的python版本

截图显示该包支持 Python 3.7+。

如果您的Python版本不符合要求,会出现“Could not find a version that satisfies the requirement”。

要解决该错误,您必须将 Python 版本升级到指定范围内的版本,然后运行命令pip install <package_name>

您可以通过从
官方 python.org 网站下载安装程序并运行它来升级您的 Python 版本。

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

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

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

包支持的
特定 Python 版本。

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

安装特定的python版本

确保你没有尝试安装内置模块

pip install当我们尝试使用内置的 Python 模块时,通常会导致该错误。

内置模块已经在环境中可用,无需运行,直接导入即可pip install

例如,像 、 和 之类的模块mathsys内置os 模块time,不应pip 安装。

如果您尝试安装该os模块,您会收到以下错误。

ERROR: Could not find a version that satisfies the requirement os (from versions: none) ERROR: No matching distribution found for os

您可以直接导入这些模块并使用它们而无需安装它们。

主程序
# 👇️ directly import built-in module import math print(math.sqrt(25)) # 👉️ 5.0

这是
所有内置模块的列表

CTRL+f您可以通过按下并键入模块名称来搜索您尝试安装的模块的名称

常见的内置模块包括jsonurllibtkintersmtplib
sqlite3pickletimexmlrpclibcsv

尝试运行您的代码,python your_file.py因为您尝试安装的模块可能已经在环境中可用。

确保你没有拼错包的名字

当我们:

  • 拼错包裹的名字
  • 假设包的名称与 import 语句匹配

通过谷歌搜索以下内容之一,确保您正确拼写了模块的名称:

  • <pakage_name> pypi
  • <包名>
  • 您的导入声明,例如import requests
许多包都有一个与包名称不同的导入语句。

如果从 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您还可以根据错误消息的输出手动将包的依赖项添加到您的
文件中。

有些包无法pip安装,需要手动安装

某些软件包无法pip安装,因为它们在 上不可用
pypi

如果您的特定软件包属于这种情况,您可以手动安装它。

这是一个如何手动安装
请求包的示例。

  1. 打开包的存储库(例如在 GitHub 上),单击Code,然后单击Download ZIP

手动安装包

  1. 如果您下载了压缩代码,请解压缩包(右键单击并解压缩)。
  2. 使用包的内容在解压缩的目录中打开终端。
  3. 找到setup.py文件。它应该在根目录中。
  4. 如果存储库中有任何安装说明,请按照它们进行操作,否则,请运行命令python setup.py install
  5. 如果出现权限错误,请运行sudo python setup.py install
    命令。
  6. 或者,您可以安装范围为当前用户的软件包以避免权限错误:python setup.py install --user

pypi您通常可以通过单击“下载文件”在包页面上找到特定模块的下载文件。

下载包文件

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

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

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

确保替换requests为您尝试安装的实际包的名称。

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

尝试在虚拟环境中安装包

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

# 👇️ 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 <package-name> in virtual environment pip install <package-name>

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

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

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

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

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

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

pip install <package-name> -vvv pip3 install <package-name> -vvv python -m pip install <package-name> -vvv

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

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

结论

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

  1. requirements.txt从带有选项的文件安装-r,例如
    pip install -r requirements.txt.
  2. 您没有过时的版本pip
  3. 您没有拼错模块的名称。
  4. 您不是要安装内置模块。
  5. 您没有使用与包不兼容的 Python 版本。
  6. 运行时不会遇到权限错误pip install

解决特定包的错误

以下是解决特定 Python 包错误的一些示例。

目录

  1. 找不到满足 pandas 要求的版本
  2. 找不到满足要求的版本 numpy
  3. 找不到满足要求的版本 yaml
  4. 找不到满足 tkinter 要求的版本
  5. 找不到满足要求的版本 virtualenv
  6. 找不到满足 django 要求的版本
  7. 找不到满足 tensorflow 要求的版本
  8. 找不到满足 PIL 要求的版本
  9. 找不到满足 cv2 OpenCV 要求的版本

找不到满足 pandas 要求的版本

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

  • pandas使用包不支持的 Python 版本进行安装。
  • 使用 Python 2 的过时版本pip或使用pipPython 2 而不是
    pip3.
  • 模块名称拼写错误。
ERROR: Could not find a version that satisfies the requirement pandas (from versions: none) ERROR: No matching distribution found for pandas

pandas软件包支持 Python 3.8+ 版本。

您可以打开pandas 的 pypi 页面,在左侧边栏Meta>
下查看支持的 Python 版本
Requires

pandas 支持的 python 版本

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

python --version python3 --version

获取 python 版本

如果您的 Python 版本低于 3.8,请从官方 python.org 网站下载最新版本并运行安装程序。

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

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

一旦您拥有支持范围内的 Python 版本,
请尝试安装 pandas

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

安装pandas包后,尝试按如下方式导入它。

主程序
import pandas as pd print(pd.__version__)

如果错误未解决,请尝试升级您的pip.

# 👇️ if you have pip already installed pip install --upgrade pip # 👇️ if your pip is aliased as pip3 (Python 3) pip3 install --upgrade pip

找不到满足要求的版本 numpy

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

  • numpy使用包不支持的 Python 版本进行安装。
  • 使用 Python 2 的过时版本pip或使用pipPython 2 而不是
    pip3.
  • 模块名称拼写错误。
ERROR: Could not find a version that satisfies the requirement numpy (from versions: ) ERROR: No matching distribution found for numpy

numpy软件包支持 Python 3.8+ 版本。

可以打开numpy的pypi页面,在左侧边栏Meta>
下查看支持的Python版本
Requires

numpy 支持的 python 版本

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

python --version python3 --version

获取 python 版本

如果您的 Python 版本低于 3.8,请从官方 python.org 网站下载最新版本并运行安装程序。

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

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

一旦您拥有支持范围内的 Python 版本,请尝试安装 numpy。

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

安装 numpy 包,尝试按如下方式导入它。

主程序
import numpy as np a = np.arange(6) a2 = a[np.newaxis, :] print(a2.shape)

如果错误未解决,请尝试升级您的pip.

# 👇️ if you have pip already installed pip install --upgrade pip # 👇️ if your pip is aliased as pip3 (Python 3) pip3 install --upgrade pip

找不到满足要求的版本 yaml

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

  • pip 安装错误的包。包的名称是pyyaml.
  • pyyaml使用包不支持的 Python 版本进行安装。
  • 使用 Python 2 的过时版本pip或使用pipPython 2 而不是
    pip3.

找不到满足要求的版本 yaml

ERROR: Could not find a version that satisfies the requirement yaml (from versions: none) ERROR: No matching distribution found for yaml

在项目的根目录中打开终端并
安装 pyyaml 模块

# 👇️ in a virtual environment or using Python 2 pip install pyyaml # 👇️ for python 3 (could also be pip3.10 depending on your version) pip3 install pyyaml # 👇️ for Anaconda conda install -c conda-forge pyyaml

安装pyyaml包后,尝试按如下方式导入它。

主程序
import yaml print(yaml.load(""" - bobby - hadz - . - com """, Loader=yaml.Loader) )

如果您仍然无法安装
pyyaml包,请尝试升级pip.

# 👇️ if you have pip already installed pip install --upgrade pip # 👇️ if your pip is aliased as pip3 (Python 3) pip3 install --upgrade pip

该错误的另一个常见原因是 Python 版本不受pyyaml.

pyyaml软件包支持 Python 3.6+ 版本。

你可以打开pyyaml的pypi页面,在左侧边栏Meta>
下查看支持的Python版本
Requires

pyyaml 支持的 python 版本

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

python --version python3 --version

获取 python 版本

如果您的 Python 版本低于 3.6,请从官方 python.org 网站下载最新版本并运行安装程序。

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

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

如果这没有帮助,请尝试在范围为 Python 3 的虚拟环境中安装该包。

找不到满足 tkinter 要求的版本

tkinter当我们尝试使用 pip安装时出现错误“找不到满足要求的版本 tkinter” 。

要解决该错误,请使用特定于操作系统的命令安装
tkinter或使用 Python 3,其中 tkinter 可作为内置模块使用。

找不到满足要求的版本 tkinter

ERROR: Could not find a version that satisfies the requirement tkinter (from versions: none) ERROR: No matching distribution found for tkinter
Tkinter 不能使用安装pip,但可以使用特定于操作系统的命令安装。

打开终端并运行以下命令来
安装 tkinter

# 👇️ === UBUNTU / DEBIAN === sudo apt-get install python3-tk # 🚨 Make sure to specify correct Python version. # For example, my Python version is 3.10, so I would install as sudo apt-get install python3.10-tk # 👇️ === MacOS === brew install python-tk@3.10 # 🚨 Make sure to specify correct Python version. # For example, if you run Python v3.9 run adjust command to brew install python-tk@3.9 # 👇️ === Fedora === sudo dnf install python3-tkinter # 👇️ === CentOS === sudo yum install python3-tkinter
如果您使用Windows,则必须确保tcl/tk and IDLE在安装 Python 时勾选该复选框。

如果您已经安装了 Python:

  1. 下载安装程序
  2. 运行安装程序并单击Modify
  3. 然后选中tcl/tk and IDLE复选框为您的 Python 版本安装 tkinter。

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

  • tcl/tk 和 IDLE(安装 tkinter 和 IDLE 开发环境)
  • 为所有用户安装启动器(推荐)
  • 将 Python 添加到 PATH(这会将 Python 添加到您的 PATH 环境变量)

Tkinter 作为 Python 3 中的内置模块出现,无需安装即可使用。

现在您应该可以导入和使用
tkinter模块了。

主程序
import tkinter as tk from tkinter import ttk root = tk.Tk() frm = ttk.Frame(root, padding=10) frm.grid() ttk.Label(frm, text="Hello World!").grid(column=0, row=0) ttk.Button(frm, text="Quit", command=root.destroy).grid(column=1, row=0) root.mainloop()

当您使用 运行代码时python file_name.py,您可能正在使用 Python 2 运行脚本。

python --version如果需要检查 Python 版本,请使用该命令。

python --version

您可以尝试运行脚本以python3 file_name.py将命令范围限定为 Python 3。

python3 example_file.py

找不到满足要求的版本 virtualenv

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

  • virtualenv使用包不支持的 Python 版本进行安装。
  • 使用 Python 2 的过时版本pip或使用pipPython 2 而不是
    pip3.
  • 模块名称拼写错误。

确保您的 Python 版本是virtualenv版本支持的版本之一。

virtualenv支持 Python 版本 3.6+。

你可以打开virtualenv 的 pypi 页面
,在左侧边栏
Meta>下查看支持的 Python 版本Requires

virtualenv 支持的 python 版本

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

python --version python3 --version

获取 python 版本

如果您的 Python 版本低于 3.6,请从官方 python.org 网站下载最新版本并运行安装程序。

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

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

pip安装前更新您的版本virtualenv

# 👇️ if you have pip already installed pip install --upgrade pip # 👇️ if your pip is aliased as pip3 (Python 3) pip3 install --upgrade pip

运行以下命令进行安装virtualenv

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

找不到满足 django 要求的版本

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

  • Django使用包不支持的 Python 版本进行安装。
  • 使用 Python 2 的过时版本pip或使用pipPython 2 而不是
    pip3.
  • 模块名称拼写错误。
ERROR: Could not find a version that satisfies the requirement django (from versions: ) ERROR: No matching distribution found for django

如果这没有帮助,请确保您的 Python 版本是受
Django版本支持的版本之一。

Django软件包支持 Python 3.8+ 版本。

你可以打开Django 的 pypi 页面,在左侧边栏Meta>
下查看支持的 Python 版本
Requires

django 支持的 python 版本

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

python --version python3 --version

获取 python 版本

如果您的 Python 版本低于 3.8,请从官方 python.org 网站下载最新版本并运行安装程序。

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

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

pip安装前更新您的版本virtualenv

# 👇️ if you have pip already installed pip install --upgrade pip # 👇️ if your pip is aliased as pip3 (Python 3) pip3 install --upgrade pip

运行以下命令来
安装 Django

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

额外资源

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