安装requests模块及其他依赖库的完美解决办法

news2024/12/24 20:20:12

业务场景

导入requests库时报错,单独离线下载安装requests,发现仍然报错,问题在于requests库有其他依赖库。

WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x0000026068302890>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed')': /simple/chardet/

WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x0000026068303E50>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed')': /simple/chardet/

INFO: pip is looking at multiple versions of requests to determine which version is compatible with other requirements. This could take a while.

ERROR: Could not find a version that satisfies the requirement chardet<3.1.0,>=3.0.2 (from requests) (from versions: none)

ERROR: No matching distribution found for chardet<3.1.0,>=3.0.2

分析

然而怎么指定requests运行库需要哪些依赖项,依赖项的版本又是什么要求呢?

使用以下命令查看运行库的版本

pip list 

找到需要查看依赖关系的库,输入以下命令,查看其依赖关系:

pip show +依赖库名称

例如:
在这里插入图片描述
在这里插入图片描述

python310 -m pip show requests ==2.28.2
python310 -m pip show requests

在这里插入图片描述
根据输出信息,requests库的版本号是2.28.2。而requests所依赖的其他库为certificharset-normalizeridnaurllib3。这些信息显示在输出的Requires字段中。
在输出结果中,查找Requires字段,即可看到该库的依赖关系。例如:

Requires: certifi, charset-normalizer, idna, urllib3

那么具体的版本号是多少呢??certifi, charset-normalizer, idna, urllib3

可以继续使用以下命令

pip show certifi, charset-normalizer, idna, urllib3

在这里插入图片描述

C:\Users\Administrator\Desktop>python310 -m pip show certifi
Name: certifi
Version: 2023.5.7
Summary: Python package for providing Mozilla's CA Bundle.
Home-page: https://github.com/certifi/python-certifi
Author: Kenneth Reitz
Author-email: me@kennethreitz.com
License: MPL-2.0
Location: d:\program files (x86)\python310\lib\site-packages
Requires:
Required-by: requests, sentry-sdk

C:\Users\Administrator\Desktop>python310 -m pip show charset-normalizer
Name: charset-normalizer
Version: 2.1.1
Summary: The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet.
Home-page: https://github.com/ousret/charset_normalizer
Author: Ahmed TAHRI @Ousret
Author-email: ahmed.tahri@cloudnursery.dev
License: MIT
Location: d:\program files (x86)\python310\lib\site-packages
Requires:
Required-by: aiohttp, requests

C:\Users\Administrator\Desktop>python310 -m pip show idna
Name: idna
Version: 3.4
Summary: Internationalized Domain Names in Applications (IDNA)
Home-page:
Author:
Author-email: Kim Davies <kim@cynosure.com.au>
License:
Location: d:\program files (x86)\python310\lib\site-packages
Requires:
Required-by: requests, yarl

C:\Users\Administrator\Desktop>python310 -m pip show  urllib3
Name: urllib3
Version: 1.26.12
Summary: HTTP library with thread-safe connection pooling, file post, and more.
Home-page: https://urllib3.readthedocs.io/
Author: Andrey Petrov
Author-email: andrey.petrov@shazow.net
License: MIT
Location: c:\users\administrator\appdata\roaming\python\python310\site-packages
Requires:
Required-by: botocore, requests, responses, sentry-sdk

C:\Users\Administrator\Desktop>

整理下来的版本号:

Name: requests
Version: 2.28.2
Name: certifi
Version: 2023.5.7
Name: charset-normalizer
Version: 2.1.1
Name: idna
Version: 3.4
Name: urllib3
Version: 1.26.12

另一种解决办法

如果你不知道具体的版本号,但需要下载并安装requests及其依赖项,可以采用以下方法:

  1. 使用pipdownload命令下载requests及其依赖项的whl文件。在联网的计算机上执行以下命令:
pip download requests--only-binary=:all: --platform any --python-version 3.10
保存到指定目录

可以通过在pip download命令中使用-d(或--dest)选项来指定下载的whl文件保存的目录。正确的命令如下:

pip download requests --only-binary=:all: --platform any --python-version 3.10 -d C:\path\to\destination\directory

pip download requests --only-binary=:all: --platform any --python-version 3.10 -d C:\requests0725

在这个命令中,-d选项后面的C:\path\to\destination\directory应该替换为希望保存whl文件的实际目录路径。

这样,pip会下载requests库及其所有依赖的whl文件,并将它们保存在指定的目录中。然后,你可以将这些whl文件复制到离线计算机上,并按正确的依赖关系顺序手动安装它们,以确保requests及其所有依赖可以在离线环境中正常工作。
在这里插入图片描述
根据命令输出,下载requests库及其依赖项出现了错误。错误信息显示找不到满足条件的requests版本。这可能是由于指定的--only-binary=:all:选项导致的,它会限制只下载二进制wheel文件,而requests库通常是一个源代码包,可能不包含预编译的wheel文件。

为了解决这个问题,可以使用以下命令来下载requests及其依赖项的源代码包:

python310 -m pip download requests -d C:\requests0725

这个命令会下载requests及其依赖项的源代码包,并保存在C:\requests0725目录中。

然后,在离线计算机上,可以进入保存whl文件的目录,并按正确的依赖关系顺序手动安装这些包

  1. pip会下载requests及其依赖项的whl文件,并保存在当前目录。你需要找到所有下载的whl文件并将它们复制到离线计算机的一个目录中。

  2. 在离线计算机上,进入保存whl文件的目录,并按正确的依赖关系顺序手动安装这些包:

python -m pip install urllib3-xxx.whl  # 根据实际下载的文件名进行替换
python -m pip install certifi-xxx.whl  # 根据实际下载的文件名进行替换
python -m pip install idna-xxx.whl     # 根据实际下载的文件名进行替换
python -m pip install charset-normalizer-xxx.whl  # 根据实际下载的文件名进行替换
python -m pip install requests-xxx.whl  # 根据实际下载的文件名进行替换

注意:这里的xxx应该是实际下载的文件名,根据你下载的文件名进行替换。

通过以上步骤,你应该能够在离线计算机上安装requests及其所有依赖项,从而成功使用该库。如果需要的话,你也可以手动查找最新版本的requests及其依赖项的whl文件进行下载和安装。

结果

E:\software\python\Lib\site-packages\user-package2023\requests2.28.2>python

Python 3.10.6 (tags/v3.10.6:9c7b4bd, Aug  1 2022, 21:53:49) [MSC v.1932 64 bit (AMD64)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>> exit()

 

E:\software\python\Lib\site-packages\user-package2023\requests2.28.2>python -m pip install requests-2.28.2-py3-none-any.whl

Processing e:\software\python\lib\site-packages\user-package2023\requests2.28.2\requests-2.28.2-py3-none-any.whl

Requirement already satisfied: charset-normalizer<4,>=2 in e:\software\python\lib\site-packages (from requests==2.28.2) (2.0.6)

Requirement already satisfied: idna<4,>=2.5 in e:\software\python\lib\site-packages (from requests==2.28.2) (2.8)

Requirement already satisfied: urllib3<1.27,>=1.21.1 in e:\software\python\lib\site-packages (from requests==2.28.2) (1.26.3)

Requirement already satisfied: certifi>=2017.4.17 in e:\software\python\lib\site-packages (from requests==2.28.2) (2020.12.5)

Installing collected packages: requests

Successfully installed requests-2.28.2

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【历史上的今天】7 月 24 日:Caldera 诉微软案;AMD 宣布收购 ATI;谷歌推出 Chromecast

整理 | 王启隆 透过「历史上的今天」&#xff0c;从过去看未来&#xff0c;从现在亦可以改变未来。 今天是 2023 年 7 月 24 日&#xff0c;在 1951 年的今天&#xff0c;晶体管发明家 John Bardeen 通知 AT&T 贝尔实验室&#xff0c;他将离开公司&#xff0c;与 Walter B…

PaddleOCR #PP-OCR常见异常扫雷

异常一&#xff1a;ModuleNotFoundError: No module named ‘tools.infer’ 实验案例&#xff1a; PaddleOCR #使用PaddleOCR进行光学字符识别&#xff08;PP-OCR文本检测识别&#xff09; 参考代码&#xff1a; 图片文本检测实验时&#xff0c;运行代码出现异常&#xff1a;M…

查看端口是否开通的方法

1.使用curl方式 curl -vv telnet://192.168.2.95:6080 在没有wget的本地化服务器中&#xff0c;可以使用该方法查看端口。 2.使用telnet方式 telnet ip 端口 失败的情况&#xff1a; 3.在安卓设备上使用adb的方式查看端口是否开放 adb shell nc ip 端口 4.还有一种思路…

PgSQL-使用技巧-如何衡量网络对性能的影响

PgSQL-使用技巧-如何衡量网络对性能的影响 PG数据库和应用之间常见的部件有连接池、负载平衡组件、路由、防火墙等。我们常常不在意或者认为涉及的网络hops对整体性能产生的额外开销是理所当然的。但在很多情况下&#xff0c;它可能会导致严重的性能损失和拖累整体吞吐量。相当…

Python中的datetime模块

time模块用于取得UNIX纪元时间戳&#xff0c;并加以处理。但是&#xff0c;如果以方便的格式显示日期&#xff0c;或对日期进行算数运算&#xff0c;就应该使用datetime模块。 目录 1. datetime数据类型 1&#xff09; datetime.datetime.now()表示特定时刻 2&#xff09;da…

K8s卷存储详解(一)

K8s卷存储详解&#xff08;一&#xff09; K8s 存储K8s卷分类K8s目前支持的卷类型 临时卷类型EmptyDirCSI 临时卷通用临时卷 K8s 存储 什么是卷&#xff1f;为什么要用卷&#xff1f; 我们知道K8s是基于容器&#xff0c;对各个Pod进行管理的。Pod是由容器构成的&#xff0c;我…

一图读懂数电票丨发票新时代的机遇与挑战

随着国家“金税4期”的推进,“全电票”近期被正式更名为“数电票”。它的出现为企业的发票管理带来了哪些机遇与挑战?下图为你简单梳理: 数电票的应用,将有助于彻底解决现有业务流程中的发票管理环节存在的集中化和自动化难题。它将推动对发票的管理与企业的业务流程、法务工…

区块链与加密货币在Web3中的融入及意义

Web3是指下一代互联网&#xff0c;也被称为去中心化互联网。它的核心理念是建立一个去中心化的经济和社会系统&#xff0c;使得个人和社区能够更加自治和自主&#xff0c;而不依赖于中心化的机构和权力。 在Web3中&#xff0c;区块链和加密货币是非常重要的技术和概念。区块链是…

not allowed to load local resource解决

问题&#xff1a; 报错&#xff1a;not allowed to load local resource 原因&#xff1a; file协议为本地文件传输协议&#xff0c;浏览器为了安全考虑不允许直接访问。 解决&#xff1a; 方法1&#xff1a;把静态资源放在同一个项目中&#xff1b; 方法2&#xff1a;搭建…

uni-app:点击事件的实现(点击信息,实现页面跳转)

样式&#xff1a; 开始页面&#xff1a; 点击后的页面&#xff1a; 路径展示&#xff1a; 核心代码&#xff1a; 前端点击事件&#xff1a; taptest 页面跳转方法写入: test(){ uni.navigateTo({ url:../start_detail/start_detail?ord…

【软件架构】企业架构4A定义

文章目录 前言战略、BA、DA、AA、TA五者的关系1、业务架构&#xff08;BA&#xff09;2、数据架构&#xff08;DA&#xff09;3、应用架构&#xff08;AA&#xff09;4、技术架构&#xff08;TA&#xff09;总结 前言 业务架构是跨系统的业务架构蓝图&#xff0c;应用架构、数…

vue3+elementplus后台管理系统,实现用户登录

目录 1 创建登录页面2 验证用户身份总结 我们的后台管理系统目前已经搭好了一个初步的框架&#xff0c;作为后台系统必备的功能就是用户登录了。我们先问一下chatgpt&#xff0c;实现用户登录需要开发哪些内容。 vue3elementplus实现用户的登录 要实现用户的登录功能&#xff0…

微服务学习笔记-----Nacos安装教程(Windows和Linux版本)

Nacos安装教程 Nacos安装指南1.Windows安装1.1.下载安装包1.2.解压1.3.端口配置1.4.启动1.5.访问 2.Linux安装2.1.安装JDK2.2.上传安装包2.3.解压2.4.端口配置2.5.启动 3.Nacos的依赖 Nacos安装指南 1.Windows安装 开发阶段采用单机安装即可。 1.1.下载安装包 在Nacos的Git…

性能测试如何做?从0到1性能测试实战(手把手教)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 什么是性能测试&a…

[Bug] ls: reading directory ‘.‘: Input/output error, Ubuntu系统某一挂载目录下数据全部消失

ls: reading directory .: Input/output error, Ubuntu系统某一挂载目录下数据全部消失 问题描述解决总结 问题描述 当天下午离开工作地点之前 启动了程序, 第二天早上来公司后发现: 工作目录/home/xxx/workspace下所有的代码文件全部消失, 然后之前运行的程序也是因为找不到代…

LeetCode[315]计算右侧小于当前元素的个数

难度&#xff1a;Hard 题目&#xff1a; 给你一个整数数组 nums &#xff0c;按要求返回一个新数组 counts 。数组 counts 有该性质&#xff1a; counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。 示例 1&#xff1a; 输入&#xff1a;nums [5,2,6,1] 输出&#…

美团圈圈拉新10天7万佣金,是如何做到的?简单轻松易上手

科思创业汇 大家好&#xff0c;这里是科思创业汇&#xff0c;一个轻资产创业孵化平台。赚钱的方式有很多种&#xff0c;我希望在科思创业汇能够给你带来最快乐的那一种&#xff01; 这两天&#xff0c;美团圆圈火了出来。 1.这个项目是什么&#xff1f; 三月底至四月初&…

easy弹窗默认最大化居中偏左显示问题解决

easy弹窗默认最大化居中偏左显示问题解决 0问题描述1尝试方法10弹窗加top,left 0参数11添加部分方法体 2最后解决方法3记录 0问题描述 如下图&#xff0c;弹窗默认最大化应该覆盖全屏幕&#xff0c;页面大小和屏幕大小是匹配得&#xff0c;但页面位置偏左了。 查看CSS发现整个…

SpringBoot整合RocketMQ 不多说直接上代码

文章目录 依赖yaml配置生产端发送消息消费端异步下单Business生产端消费端 依赖 <!--整合的依赖--> <dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-spring-boot-starter</artifactId><version>2.2.2<…

基础算法-数组模拟栈

栈&#xff1a;先进后出 队列&#xff1a;先进先出 栈 例题&#xff1a; 实现一个栈&#xff0c;栈初始为空&#xff0c;支持四种操作&#xff1a; push x – 向栈顶插入一个数 x&#xff1b;pop – 从栈顶弹出一个数&#xff1b;empty – 判断栈是否为空&#xff1b;query …