pip 的依赖解析器目前没有考虑所有安装的包
pip’s dependency resolver does not currently take into account all the packages that are installed
要解决“错误:pip 的依赖项解析器当前未考虑所有已安装的包”:
- 安装和升级
wheel
,setuptools
以及pip
。 - (可选)创建一个虚拟环境并在其中安装包。
- 确保包支持您的 Python 版本。
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
安装wheel
包
您应该尝试的第一件事是
安装 wheel。
运行以下命令进行安装wheel
。
pip install wheel pip3 install wheel python -m pip install wheel python3 -m pip install wheel # 👇️ for Windows py -m pip install wheel
升级你的版本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
升级 pip 后,
还要升级 setuptools 。
pip install --upgrade setuptools pip3 install --upgrade setuptools python -m pip install --upgrade setuptools python3 -m pip install --upgrade setuptools py -m pip install --upgrade setuptools
安装h5py
和typing-extensions
模块
如果错误未解决,请尝试在安装 wheel 之前安装
h5py和
typing-extensions。
pip install h5py pip install typing-extensions pip install wheel pip3 install h5py pip3 install typing-extensions pip3 install wheel
如果错误仍然存在,请使用pip show package_name
命令检查软件包是否实际安装。
pip show requests pip3 show requests python -m pip show requests python3 -m pip show requests
该pip show package_name
命令将声明该包未安装或显示有关该包的一堆信息。
即使错误显示在您的终端中,该软件包也可能已安装。
错误信息可能包含依赖冲突
您的错误消息可能包含一个或多个依赖项冲突,例如
“seaborn 0.12.1 需要 matplotlib!=3.6.1,>=3.1,但您有不兼容的 matplotlib 3.6.1”。
如果是这种情况,您可以尝试在安装 matplotlib之前
卸载
seaborn包。
# 👇️ uninstall package that caused conflict pip uninstall seaborn pip3 uninstall seaborn python -m pip uninstall seaborn python3 -m pip uninstall seaborn # 👇️ install both packages pip install matplotlib seaborn pip3 install matplotlib seaborn python -m pip install matplotlib seaborn python3 -m pip install matplotlib seaborn
确保将包替换为错误消息中的包。
另一种方法是尝试在安装之前升级seaborn
包
。pip install seaborn --upgrade
matplotlib
您还可以安装错误消息指定范围内的冲突包版本。
您可以通过用两个等号分隔包的名称和版本来安装包的特定版本。
pip install requests==2.28.0 pip3 install requests==2.28.0
创建虚拟环境
如果错误依旧,请创建一个虚拟环境或卸载软件包并重新安装。
- 创建一个虚拟环境。
- 激活虚拟环境。
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
您的虚拟环境将使用用于创建它的 Python 版本。
如果这没有帮助,请尝试卸载并安装该软件包。
# 👇️ uninstall package pip uninstall requests pip3 uninstall requests python3 -m pip uninstall requests # 👇️ install package pip install requests pip3 install requests python3 -m pip install requests
该错误通常是由于依赖项的版本不兼容引起的,因此创建一个隔离的虚拟环境并安装包应该足以解决它。
如果仍然出现错误,请尝试在代码中导入包。即使在运行时显示错误消息,也很可能模块安装成功pip install
。
检查包是否支持你的 Python 版本
谷歌包的名称并检查包是否支持您的 Python 版本。
例如,如果我用谷歌搜索“requests pypi”并点击
pypi.org页面,我可以在左侧边栏的Meta
>下看到支持的 Python 版本Requires
。
截图显示该包支持 Python 3.7+。
如果包不支持最新版本的 Python,请尝试运行
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
requests
为您尝试安装的实际包的名称。该--pre
选项使其包含pip
包的预发布和开发版本。默认情况下pip
只查找稳定版本。
如果这不起作用,则必须安装指定范围内的 Python 版本,然后运行命令pip install <package_name>
。
您可以通过从
官方 python.org 网站下载安装程序并运行它来升级您的 Python 版本。
如果出现提示,请确保勾选以下选项:
- 为所有用户安装启动器(推荐)
- 将 Python 添加到 PATH(这会将 Python 添加到您的 PATH 环境变量)
如果包不支持最新的 Python 版本,您可以下载包支持的特定 Python 版本。
“寻找特定版本”表中提供了不同的版本
。
结论
要解决“错误:pip 的依赖项解析器当前未考虑所有已安装的包”:
- 安装和升级
wheel
,setuptools
以及pip
。 - (可选)创建一个虚拟环境并在其中安装包。
- 确保包支持您的 Python 版本。