Python中用requests时遇到的错误警告解决方案

最近,我在Python 2.7.6(Ubuntu 14.04.2 LTS)环境中将requests库的版本从2.5.3升级到2.6.0,却遇到了’A true SSLContext object is not available’警告。每当我在Python 2.7.6环境中尝试使用requests库访问’github’时,都会看到这个警告。

在这里插入图片描述

mkvirtualenv requests260 -i requests==2.6.0
....
(requests260)dave@xxps:~$ python
Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> resp = requests.get('https://github.com')
/home/dave/.virtualenvs/requests260/local/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:79: InsecurePlatformWarning: A true SSLContext object is not available、This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail、For more information, see https://urllib3.readthedocs.org/en/latest/security.html
Lukasa commented at 2015-03-15 11:46:That warning should not be raised unless we're not using pyOpenSSL、Can you confirm that `pip freeze` lists pyOpenSSL, ndg-httpsclient, and pyasn1?
davecoutts commented at 2015-03-15 16:14:Oooops! I had convinced myself that pyOpenSSL was installed, but it wasn解决方案通过研究,我找到了解决这个问题的方法。如果您在Python 2.7.6环境中使用requests 2.6.0,可以通过添加ndg-httpsclient模块来避免警告,并降低pyOpenSSL导入时间的影响。**解决方案:**以下是解决问题的步骤:1、创建一个虚拟环境(如果您尚未创建),并激活它:```bash
mkvirtualenv requests260_ndghttpsclient
workon requests260_ndghttpsclient

2、使用pip安装requests 2.6.0和ndg-httpsclient:

pip install requests==2.6.0 ndg-httpsclient

3、使用pip freeze检查已安装的模块,确保ndg-httpsclient已被添加:

pip freeze

您应该看到类似以下的输出:

cffi==0.9.2
cryptography==0.8
enum34==1.0.4
ndg-httpsclient==0.3.3
pyasn1==0.1.7
pycparser==2.10
pyOpenSSL==0.14
requests==2.6.0
six==1.9.0

4、现在,您可以在Python 2.7.6环境中使用requests 2.6.0,而不再看到’A true SSLContext object is not available’警告。

这个解决方案的关键是安装ndg-httpsclient模块,它有助于避免警告并改善pyOpenSSL导入性能。虽然在某些情况下,添加pyOpenSSL可能会导致导入时间增加,但通过添加ndg-httpsclient,您可以同时解决警告问题并减少导入时间。

希望这篇文章对您解决在Python 2.7.6环境中使用requests 2.6.0时遇到的问题有所帮助。如果您有任何疑问或需要进一步的协助,请随时提出。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/207485.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实时错误’-2147217887‘多步OLB DB 操作产生错误。如果可能,请检查OLE DB状态值

目录 背景问题问题分析问题解决 错误解决与定位技巧总结 背景 仍旧是学生信息管理系统的问题,当时做的时候没发现这么多问题呢,只能说明一件事,做的时候没有站在用户的角度考虑需求,设置了什么内容,就按照设置好的去测…

20k阿里面经跟18k腾讯面经(附答案)

阿里面经 1、你的测试职业发展是什么? 测试经验越多,测试能力越高。所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前3年积累测试经验,按如何做好测试工程师的要点去要求…

三、防火墙-源NAT

学习防火墙之前,对路由交换应要有一定的认识 源NAT基本原理1.1.NAT No-PAT1.2.NAPT1.3.出接口地址方式(Easy IP)1.4.Smart NAT1.5.三元组 NAT1.6.多出口场景下的源NAT 总结延伸 ——————————————————————————————…

个人博客项目 - 测试报告

文章目录 一、项目背景二、测试报告功能测试1.编写测试用例2.登录测试3.编写文章测试4.查看文章测试5.删除文章测试7.注销登录测试 自动化测试性能测试1.VUG2.进行场景设计3.生成性能测试报告 总结 本文开始 一、项目背景 通过学习测试相关的知识,动手实践并测试一…

2023 年 亚太赛 APMCM ABC题 国际大学生数学建模挑战赛 |数学建模完整代码+建模过程全解全析

当大家面临着复杂的数学建模问题时,你是否曾经感到茫然无措?作为2022年美国大学生数学建模比赛的O奖得主,我为大家提供了一套优秀的解题思路,让你轻松应对各种难题。 以五一杯 A题为例子,以下是咱们做的一些想法呀&am…

【DevOps】Git 图文详解(八):后悔药 - 撤销变更

Git 图文详解(八):后悔药 - 撤销变更 1.后悔指令 🔥2.回退版本 reset3.撤销提交 revert4.checkout / reset / revert 总结 发现写错了要回退怎么办?看看下面几种后悔指令吧! ❓ 还没提交的怎么撤销&#x…

二十二、数组(4)

本章概要 随机生成泛型和基本数组 随机生成 我们可以按照 Count.java 的结构创建一个生成随机值的工具: Rand.java import java.util.*; import java.util.function.*;import static com.example.test.ConvertTo.primitive;public interface Rand {int MOD 10_0…

兼顾陪读|自由职业者赴美国加州大学尔湾分校访学

I老师出国访学除了提升自己的科研水平外,主要目标还是以陪伴孩子上学为主。最终我们为其落实了排名还不错的加州大学尔湾分校的职位,这对于已多年脱离科研工作岗位,学术背景非常薄弱的I老师来说相当不易。 I老师背景: 申请类型&a…

22LLMSecEval数据集及其在评估大模型代码安全中的应用:GPT3和Codex根据LLMSecEval的提示生成代码和代码补全,CodeQL进行安全评估

LLMSecEval: A Dataset of Natural Language Prompts for Security Evaluations 写在最前面主要工作 课堂讨论大模型和密码方向(没做,只是一个idea) 相关研究提示集目标NL提示的建立NL提示的建立流程 数据集数据集分析 存在的问题 写在最前面…

[计算机网络实验]头歌 实验二 以太网帧、IP报文分析(含部分分析)

目录 第1关:Wireshark基本使用入门 【实验目的】 【实验环境】 【本地主机、平台虚拟机之间数据传递】 wireshark基本用法】 1、wireshark主界面 2、抓取分组操作 3、Wireshark窗口功能 4、筛选分组操作 【实验操作】 ​编辑 第2关:Ethernet帧…

关于软raid的实现及常见问题

RAID概念 磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。 磁盘阵列是由很多价格较便宜的磁盘,以硬件(RAID卡)或软件(MDADM&…

[Docker]九.Docker compose讲解

docker-compose 是 docker 官方的一个开源项目,可以实现对 docker 容器集群的快速编排, docker-compose 通过一个 配置文件 来管理多个 Docker 容器,在配置文件中,所有的容器通过 services 来定义,然后使用 docker-compose脚本 来 启动&am…