ImportError at / urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with OpenSSL 1.0.2k-fips 26 Jan 2017. See: https://github.com/urllib3/urllib3/issues/2168
时间: 2023-06-17 17:05:11 浏览: 768
这个错误是由于你的Python环境中使用的是OpenSSL 1.0.2k-fips,而urllib3 v2.0需要使用OpenSSL 1.1.1+。为了解决这个问题,你需要升级OpenSSL的版本。
如果你使用的是Linux系统,可以通过更新系统软件包的方式来升级OpenSSL。如果你使用的是Windows系统,可以通过下载OpenSSL的安装包并进行安装来升级。
如果你无法升级OpenSSL,你也可以尝试降低urllib3的版本,使用一个与你的OpenSSL版本兼容的版本。你可以通过以下命令来降低urllib3的版本:
```
pip install urllib3==1.25.11
```
这将安装urllib3的1.25.11版本,该版本与OpenSSL 1.0.2k-fips兼容。
相关问题
ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL 1.0.2k-fips 26 Jan 2017'. See:
这个错误是由于你的 OpenSSL 版本过低所引起的。`urllib3` 版本 2.0 及以上要求使用 OpenSSL 1.1.1 或更高版本。
要解决这个问题,你可以尝试以下步骤:
1. 首先,确保你的系统已经安装了 OpenSSL 1.1.1 或更高版本。你可以通过运行以下命令来检查 OpenSSL 版本:
```
openssl version
```
如果版本低于 1.1.1,你需要更新 OpenSSL 到 1.1.1 或更高版本。具体的更新方法取决于你使用的操作系统和包管理器。请参考你的操作系统文档或 OpenSSL 官方网站了解如何更新 OpenSSL。
2. 如果你无法升级 OpenSSL 或者你的操作系统不支持升级到较新版本,你可以考虑使用较低版本的 `urllib3`。你可以使用以下命令安装一个较低版本的 `urllib3`:
```
pip install urllib3==1.25.11
```
这将安装 `urllib3` 的 1.25.11 版本,该版本与 OpenSSL 1.0.2 兼容。
请注意,更新 OpenSSL 版本可能会涉及到系统级的更改,可能需要管理员权限,并且可能对其他依赖于 OpenSSL 的应用程序产生影响。因此,在进行任何更改之前,请确保在测试环境中进行充分的测试,并确保你理解所做更改的潜在风险和影响。
python中报"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.0i 14 Aug 2018. See
这个错误是由于你的 Python 环境中的 `ssl` 模块使用的 OpenSSL 版本不符合 `urllib3` 的要求。为了解决这个问题,你需要更新你的 OpenSSL 版本。
如果你使用的是 Linux 或 macOS 系统,你可以通过包管理器来升级 OpenSSL。例如,如果你使用的是 Ubuntu 系统,可以通过以下命令升级 OpenSSL:
```
sudo apt-get update
sudo apt-get install openssl
```
如果你使用的是 macOS 系统,可以通过 Homebrew 包管理器来升级 OpenSSL:
```
brew update
brew install openssl
```
如果你使用的是 Windows 系统,你可以从 OpenSSL 官网下载最新版本的 OpenSSL,并按照官方文档进行安装。
安装完 OpenSSL 后,你需要重新编译 Python 的 `ssl` 模块,使其链接到新的 OpenSSL 库。具体步骤如下:
1. 打开命令行界面,进入 Python 的安装目录中的 `Modules/_ssl` 目录。
2. 运行以下命令,生成 `_ssl.c` 文件:
```
python _ssl.c.py openssl_dir=<path-to-openssl> [debug]
```
其中 `<path-to-openssl>` 是你安装 OpenSSL 的路径,`[debug]` 是可选参数,表示生成调试版本的 `_ssl.c` 文件。
例如,如果你在 macOS 系统上使用 Homebrew 安装了 OpenSSL,那么 `<path-to-openssl>` 可能是 `/usr/local/opt/openssl`。
3. 运行以下命令,编译 `_ssl` 模块:
```
python setup.py build_ssl
```
4. 运行以下命令,安装 Python:
```
python setup.py install
```
这样,你就可以在 Python 中使用最新版本的 OpenSSL 和 `urllib3` 了。
阅读全文