引自免费微信小程序:皆我百晓生
看起来你遇到了几个不同的问题,我会逐一帮你解决。
首先,关于urllib3与OpenSSL版本不兼容的问题。你需要确保你的Python环境中的OpenSSL库是1.1.1或更高版本。如果你已经尝试升级ssl模块但失败了,那么可能是因为ssl模块是Python标准库的一部分,不能单独升级。你应该直接升级urllib3到一个支持当前OpenSSL版本的版本。执行下面的命令来升级urllib3:
pip install --upgrade urllib3
如果这还不能解决问题,可能需要检查你的系统中安装的OpenSSL版本是否过低。你可以通过以下命令查看已安装的OpenSSL版本:
openssl version
如果版本低于1.1.1,你可能需要更新你的操作系统提供的OpenSSL库,或者在独立的环境中(如Anaconda或Miniconda)安装Python和相关依赖。
接下来,对于pip升级失败的问题,这可能是由于旧版的pip自身有问题。尝试使用Python自带的包管理器重新安装pip:
python -m ensurepip --upgrade
然后再次尝试升级urllib3。
对于ModuleNotFoundError: No module named 'distutils'错误,这通常发生在没有正确设置虚拟环境(venv)的情况下。确保你在正确的Python环境中运行这些命令。首先,创建一个新的虚拟环境:
python3 -m venv my_venv
然后激活它(根据你的操作系统不同,激活命令可能会有所不同):
- 对于Unix-based系统(包括MacOS和Linux):
source my_venv/bin/activate
my_venv\Scripts\activate
之后,你应该可以在虚拟环境中安装所需的库,而不会遇到distutils找不到的问题。
如果以上步骤都不能解决问题,可能需要清理并重新安装Python环境。建议卸载现有的Python版本,然后从官方网站下载最新稳定的Python发行版进行安装:https://www.python.org/downloads/
完成安装后,按照上述步骤创建新的虚拟环境,并安装所需的库。这样应该能解决所有问题。