ERROR: pip’s dependency resolver does not currently take into account all the packages that are installed 原因与解决方法

今天,一位朋友在服务器“Centos 7 x86_64 EZ”安装“宝塔面板”的时候,结果报错如下:

Installing collected packages: pycparser, cffi, cryptography, pyOpenSSl
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.
aliyun-python-sdk-core 2.13.30 requires cryptography<3.3,>=2.9.2, but you have cryptography 41.0.1 which is incompatible.
Successfully installed cffi-1.15.1 cryptography-41.0.1 pyOpenSSl-23.2.0 pycparser-2.21
WARNING: You are using pip version 20.3.3; however, version 23.1.2 is available.
You should consider upgrading via the '/www/server/panel/pyenv/bin/python3.7 -m pip install --upgrade pip' command.

中文翻译

错误:pip的依赖关系解析程序当前没有考虑所有已安装的程序包。

这种行为是以下依赖冲突的根源。

aliyun-python-sdk-core 2.13.30 需要 cryptography<3.3,>=2.9.2,但您有不兼容的 cryptography41.0.1。

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. aliyun-python-sdk-core 2.13.30 requires cryptography<3.3,>=2.9.2, but you have cryptography 41.0.1 which is incompatible.

 

原因

通过上面的翻译,也知道原因了,通俗点讲,主要原因就是:

aliyun-python-sdk-core 是2.13.30版本,需要cryptography版本小于3.3,大于等于2.9.2在一起运行,才能相互兼容。、

但是,我们装的cryptography版本是41.0.1。所以就不兼容了,不能一起运行。

 

我去“pypi.org”查了一下。

aliyun-python-sdk-core模块:这是阿里云Python SDK的核心模块。阿里云Python SDK是官方软件开发工具包。它使您可以轻松地将Python应用程序、库或脚本与Aliyun服务集成。此模块适用于Python版本:2.7及以上。aliyun-python-sdk-core

 

cryptography是一个为Python开发人员提供加密配方和基元的包。我们的目标是让它成为您的“加密标准库”。它支持Python 3.7+和PyPy3 7.3.10+。

cryptography包括常见密码算法的高级配方和低级接口,例如对称密码、消息摘要和密钥推导函数。例如,要使用密码学的高级对称加密配方对某些内容进行加密。aliyun-python-sdk-core

 

解决方法

关于这个问题,知道了原因,我的解决方法有以下几种。以这位朋友的情况为例子,大家可以参考一下。

主要是给大家提供解决问题的一些思路及方法。

 

第一种:卸载宝塔面板,再重新安装

 

1、卸载“宝塔面板”命令:

/etc/init.d/bt stop && chkconfig --del bt && rm -f /etc/init.d/bt && rm -rf /www/server/panel

 

2、Centos安装“宝塔面板”命令:

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

 

第二种:既然是冲突,相互不兼容,那就删除掉无用的模块

通过上面的原因分析,大家也知道 aliyun-python-sdk 主要就是将Python应用程序、库或脚本与Aliyun服务集成。如果你没有用上这些,是完全可以删除掉的。

 

1、列示出Python中安装了哪些第三方库?

命令:

/www/server/panel/pyenv/bin/python3.7 -m pip list

aliyun-python-sdk

 

2、删除所有带有“aliyun-python-sdk”标记的模块。

命令:

/www/server/panel/pyenv/bin/python3.7 -m pip uninstall aliyun-python-sdk-core
/www/server/panel/pyenv/bin/python3.7 -m pip uninstall aliyun-python-sdk-core-v3
/www/server/panel/pyenv/bin/python3.7 -m pip uninstall aliyun-python-sdk-kms

 

第三种:既然是版本不兼容,可以适当的降低版本来达到相互兼容的要求

既然说cryptography版本高了,那我按照要求降低不就可以解决此问题了吗?

要求:cryptography<3.3,>=2.9.2

我就用  cryptography 3.2.1 ,这样就满足了。

 

1、先卸载掉cryptography

命令:

/www/server/panel/pyenv/bin/python3.7 -m pip uninstall cryptography

 

2、再安装cryptography版本3.2.1

命令:

/www/server/panel/pyenv/bin/python3.7 -m pip install cryptography==3.2.1

 

总结:

以上几种方法各自有它的优缺点,主要是看哪一种最适合自己的情况吧!反正解决问题的思路大概就是这几个方向。希望能够让你开悟并帮助到你。

付杰
  • ¥ 298.0元
  • 市场价:398.0元
  • ¥ 15.0元
  • 市场价:15.0元
  • ¥ 98.0元
  • 市场价:398.0元
  • ¥ 398.0元
  • 市场价:498.0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: