目录
Could not find a version that satisfies the requirement X
- 找不到满足要求的版本 X
- 找不到满足 pandas 要求的版本
- 找不到满足要求的版本 numpy
- 找不到满足要求的版本 yaml
- 找不到满足 tkinter 要求的版本
- 找不到满足要求的版本 virtualenv
- 找不到满足 django 要求的版本
- 找不到满足 tensorflow 要求的版本
- 找不到满足 PIL 要求的版本
- 找不到满足 cv2 OpenCV 要求的版本
找不到满足要求的版本 X
出现“无法找到满足要求的版本”的错误有多种原因:
pip install -r requirements.txt
在没有选项的情况下运行命令-r
。- 使用 Python 2 的过时版本
pip
或使用pip
Python 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.txt
which 不存在的包。如果那没有解决错误,请升级您的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
您还可以通过从官方 python.org 网站下载安装程序
并运行它来升级您的 Python 版本。
如果出现提示,请确保勾选以下选项:
- 为所有用户安装启动器(推荐)
- 将 Python 添加到 PATH(这会将 Python 添加到您的 PATH 环境变量)
使用“python -m pip install package_name”安装包
尝试pip
以python -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>
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==
这是在我的终端中发出命令的屏幕截图。
输出包含
包的所有版本的元组
,从最旧到最新。
您还可以通过以下方式查看包的所有版本:
- 谷歌搜索“包名 pypi”。
- 单击包的pypi页面。
- 点击“发布历史”。
例如,如果我想安装包2.28.1
的版本requests
,我会运行以下命令。
python3 -m pip install --pre --upgrade requests==2.28.1
检查包是否支持你的 Python 版本
谷歌包的名称并检查包是否支持您的 Python 版本。
例如,如果我用谷歌搜索“requests pypi”并点击
pypi.org页面,我可以在左侧边栏的Meta
>下看到支持的 Python 版本Requires
。
截图显示该包支持 Python 3.7+。
要解决该错误,您必须将 Python 版本升级到指定范围内的版本,然后运行命令pip install <package_name>
。
您可以通过从
官方 python.org 网站下载安装程序并运行它来升级您的 Python 版本。
如果出现提示,请确保勾选以下选项:
- 为所有用户安装启动器(推荐)
- 将 Python 添加到 PATH(这会将 Python 添加到您的 PATH 环境变量)
如果包不支持最新的 Python 版本,您可以下载
包支持的特定 Python 版本。
“寻找特定版本”表中提供了不同的版本
。
确保你没有尝试安装内置模块
pip install
当我们尝试使用内置的 Python 模块时,通常会导致该错误。
内置模块已经在环境中可用,无需运行,直接导入即可pip install
。
math
是sys
内置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
您可以通过按下并键入模块名称来搜索您尝试安装的模块的名称
。
常见的内置模块包括:json
、urllib
、tkinter
、smtplib
、
sqlite3
、pickle
、time
和xmlrpclib
。csv
尝试运行您的代码,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
。
如果您的特定软件包属于这种情况,您可以手动安装它。
这是一个如何手动安装
请求包的示例。
- 打开包的存储库(例如在 GitHub 上),单击
Code
,然后单击Download ZIP
。
- 如果您下载了压缩代码,请解压缩包(右键单击并解压缩)。
- 使用包的内容在解压缩的目录中打开终端。
- 找到
setup.py
文件。它应该在根目录中。 - 如果存储库中有任何安装说明,请按照它们进行操作,否则,请运行命令
python setup.py install
。 - 如果出现权限错误,请运行
sudo python setup.py install
命令。 - 或者,您可以安装范围为当前用户的软件包以避免权限错误:
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
命令以详细模式运行时,命令会显示更多输出以及错误发生的方式。
结论
要解决错误“找不到满足要求的版本”,请确保:
requirements.txt
从带有选项的文件安装-r
,例如
pip install -r requirements.txt
.- 您没有过时的版本
pip
。 - 您没有拼错模块的名称。
- 您不是要安装内置模块。
- 您没有使用与包不兼容的 Python 版本。
- 运行时不会遇到权限错误
pip install
。
解决特定包的错误
以下是解决特定 Python 包错误的一些示例。
目录
- 找不到满足 pandas 要求的版本
- 找不到满足要求的版本 numpy
- 找不到满足要求的版本 yaml
- 找不到满足 tkinter 要求的版本
- 找不到满足要求的版本 virtualenv
- 找不到满足 django 要求的版本
- 找不到满足 tensorflow 要求的版本
- 找不到满足 PIL 要求的版本
- 找不到满足 cv2 OpenCV 要求的版本
找不到满足 pandas 要求的版本
出现“Could not find a version that satisfy the requirement pandas”的错误有多种原因:
pandas
使用包不支持的 Python 版本进行安装。- 使用 Python 2 的过时版本
pip
或使用pip
Python 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
。
您可以使用python --version
命令检查您的 Python 版本。
python --version python3 --version
如果您的 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
或使用pip
Python 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
。
您可以使用python --version
命令检查您的 Python 版本。
python --version python3 --version
如果您的 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
或使用pip
Python 2 而不是
pip3
.
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
。
您可以使用python --version
命令检查您的 Python 版本。
python --version python3 --version
如果您的 Python 版本低于 3.6,请从官方 python.org 网站下载最新版本并运行安装程序。
如果出现提示,请确保勾选以下选项:
- 为所有用户安装启动器(推荐)
- 将 Python 添加到 PATH(这会将 Python 添加到您的 PATH 环境变量)
如果这没有帮助,请尝试在范围为 Python 3 的虚拟环境中安装该包。
找不到满足 tkinter 要求的版本
tkinter
当我们尝试使用 pip安装时出现错误“找不到满足要求的版本 tkinter” 。
要解决该错误,请使用特定于操作系统的命令安装
tkinter
或使用 Python 3,其中 tkinter 可作为内置模块使用。
ERROR: Could not find a version that satisfies the requirement tkinter (from versions: none) ERROR: No matching distribution found for 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:
- 下载安装程序。
- 运行安装程序并单击
Modify
。 - 然后选中
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
或使用pip
Python 2 而不是
pip3
. - 模块名称拼写错误。
确保您的 Python 版本是virtualenv
版本支持的版本之一。
virtualenv包支持 Python 版本 3.6+。
你可以打开virtualenv 的 pypi 页面
,在左侧边栏
Meta
>下查看支持的 Python 版本Requires
。
您可以使用python --version
命令检查您的 Python 版本。
python --version python3 --version
如果您的 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
或使用pip
Python 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
。
您可以使用python --version
命令检查您的 Python 版本。
python --version python3 --version
如果您的 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
额外资源
您可以通过查看以下教程来了解有关相关主题的更多信息: