windows下openssl版本太低了 求教如何卸载或升级?

D:\code\python\paddle>openssl version -a
OpenSSL 1.0.2n  7 Dec 2017
built on: reproducible build, date unspecified
platform: Msys-x86_64
options:  bn(64,64) rc4(ptr,int) des(idx,cisc,16,int) blowfish(idx)
compiler: gcc -I. -I.. -I../include  -D_WINDLL -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS  -DDSO_DLFCN -DHAVE_DLFCN_H -DTERMIOS -DL_ENDIAN -O3 -Wall
OPENSSLDIR: "/usr/ssl"

python里调用import paddle时报错如下:
"urllib3 v2.0 only supports OpenSSL 1.1.1+, currently "
ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with OpenSSL 1.1.0j 20 Nov 2018. See: https://github.com/urllib3/urllib3/issues/2168

这个“/usr/ssl”是什么位置?在C:Windows/system32下也没有找到

安装了新1.1.1t版本的OpenSSL,并增加了环境变量,调用的仍然是旧的

阅读 6.3k
2 个回答

看了下你的问题描述,问题的原因是你末尾这句话,文件夹 /usr/ssl 通常是 Linux 系统上 OpenSSL 默认的安装目录,对于 Windows 系统而言,在 C:\Windows\System32 下是不应该有该目录。因此windows环境下当然报错。
因此你应该重新检查下路径顺序,在环境变量中添加新的 OpenSSL 路径时,请确保将其放置在 Python 解释器所在路径之前。这样可以确保运行时可以找到新的 OpenSSL 库,然后重启生效它。另外检查下解释器的版本,从而全面确保兼容。应该就能解决你的疑惑了。

这里的 OpenSSL 版本应该是指你的 Python 在编译时使用的 Open SSL 版本,和你本机安装的运行时 Open SSL 无关,而且你这个命令行里面返回的 Open SSL 版本明显不是 Win 平台原生的,是 MSYS2 附带的,所以路径是 /usr/ssl。

你能做的就两个办法:

  • 1、使用较新的 Python 版本。
你可以查看 Python 的 Changelog ,来查找具有合适版本的 Python 进行安装。

2、从源码编译 Python,并在编译时使用新的 Open SSL

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Microsoft
子站问答
访问
宣传栏