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

业务场景

导入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-sdkC:\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, requestsC:\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, yarlC:\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-sdkC:\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\directorypip 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>pythonPython 3.10.6 (tags/v3.10.6:9c7b4bd, Aug  1 2022, 21:53:49) [MSC v.1932 64 bit (AMD64)] on win32Type "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.whlProcessing e:\software\python\lib\site-packages\user-package2023\requests2.28.2\requests-2.28.2-py3-none-any.whlRequirement 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: requestsSuccessfully installed requests-2.28.2

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

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

相关文章

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

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

vue 图片的引入方式

一、import 静态引入 放在script标签顶端 例如 import errowPng from ../../assets/404_images/404.png 二、require 动态引入 可以放在data中 data() {return {imgUrl:require("../../assets/404_images/404.png")};}, require 是赋值过程并且是运行时才执行&…

普通的计算机专业大学生如何学习才能找到好offer

2023年已经将近8月份了&#xff0c;回想到开始努力提高自己的时候还是在今年1月1号。开学就要大二了。 一、目标达成情况总结&#xff1a; 一月份&#xff0c;无意间在网上刷到鹏哥的C语言课程&#xff0c;在鸡汤实力课程已拿到大厂offer的同学喜报 &#xff0c;让我萌发了学技…

深入浅出理解vue2/vue3响应式原理

一、简介 当谈论Vue 2和Vue 3的响应式原理时&#xff0c;我们主要关注的是其数据双向绑定的机制。数据双向绑定是指当数据发生变化时&#xff0c;视图会自动更新&#xff1b;反之&#xff0c;当视图发生变化时&#xff0c;数据也会相应地更新。这种特性让我们在前端开发中更加…

Swift 如何确定 scrollView 已经滑动结束

在 iOS 的 UIScrollView 中&#xff0c;你可以通过实现 UIScrollViewDelegate 的方法来检测滑动结束事件。具体来说&#xff0c;你可以实现以下方法&#xff1a; func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {if !decelerat…

Python 实现接口类的两种方式+邮件提醒+动态导入模块+反射(参考Django中间件源码)

实现抽象类的两种方式 方式一 from abc import ABCMeta from abc import abstractmethodclass BaseMessage(metaclassABCMeta):abstractmethoddef send(self,subject,body,to,name):pass 方式二 class BaseMessage(object):def send(self, subject, body, to, name):raise …

vue3使用响应式数据 + v-model导致响应式失效el-form表单无法输入的问题

文章目录 vue3使用响应式数据 v-model导致响应式失效el-form表单无法输入的问题 vue3使用响应式数据 v-model导致响应式失效el-form表单无法输入的问题 参考文章 重构vue2项目时发现的问题&#xff0c;原始项目使用的是Element-ui。 其实vue3可以使用适配的Element-plus 问…

EasyExcel读取多sheet excel异常

EasyExcel读取多sheet excel异常 场景 使用Spring Boot集成EasyExcel进行导入excel多sheet&#xff0c;执行异常 代码 file是MultipartFile&#xff0c;入参&#xff0c;主要处理流程如下 InputStream is file.getInputStream(); EasyExcel.read(is, SysDict.class, new …

Set集合类详解(附加思维导图)

目录 一、Set集合思维导图 二、set集合类常用方法 2.1、HashSet集合常用方法 2.2、TreeSet集合的使用 三、HashSet、LinkedHashSet、TreeSet的使用场景 四、list和set集合的区别 一、Set集合思维导图 二、set集合类常用方法 2.1、HashSet集合常用方法 ①&#xff1a;add…

redis面试1

Redis基础面试题 1、为什么要使用Redis做缓存 缓存的好处 使用缓存的目的就是提升读写性能。而实际业务场景下&#xff0c;更多的是为了提升读性能&#xff0c;带来更好的性 能&#xff0c;带来更高的并发量。Redis 的读写性能比 Mysql 好的多&#xff0c;我们就可以把 Mysq…

scrapy分布式+指纹去重原理

1&#xff0c;指纹去重原理存在于 scrapy.util.requests 里面 需要安装的包 pip install scrapy-redis-cluster # 安装模块 pip install scrapy-redis-cluster0.4 # 安装模块时指定版本 pip install --upgrade scrapy-redis-cluster # 升级模块版本 2&#xff0c;setting配置 …

【小白必看】利用Python生成个性化名单Word文档

文章目录 前言所需文件及文件格式说明excel数据如下word 模板如下文件目录格式及生成后的文件 导入所需的模块&#xff1a;打开 Excel 文件&#xff1a;选择工作表&#xff1a;获取数据列表&#xff1a;遍历数据并生成 Word 文档&#xff1a;完整代码结束语 前言 对于需要批量…

【MyBatis 学习一】认识MyBatis 第一个MyBatis查询

目录 一、认识MyBatis 1、MyBatis是什么&#xff1f; 2、为什么要学习MyBatis? 二、配置MyBatis环境 1、建库与建表 2、创建新项目 3、xml文件配置 &#xff08;1&#xff09;配置数据库连接 &#xff08;2&#xff09;配置 MyBatis 中的 XML 路径 三、测试&#x…

mysql(三)用户权限管理

目录 前言 一、概述 二、用户权限类型 三、用户赋权 四、权限删除 五、删除用户 前言 为什么要设置用户权限&#xff1f; MySQL设置用户管理权限的主要目的是为了确保数据库的安全性和数据的机密性。以下是一些原因&#xff1a; 1. 安全性&#xff1a;MySQL是一个开源的关系型…

Java集合之List

ArrayLsit集合 ArrayList集合的特点 ArrayList集合的一些方法 ①.add(Object element) 向列表的尾部添加指定的元素。 ②.size() 返回列表中的元素个数。 ③.get(int index) 返回列表中指定位置的元素&#xff0c;index从0开始。 public class Test {public static void m…

dependency walker工具简介及使用

dependency walker工具 简介使用 简介 官方概述&#xff1a; Dependency Walker is a free utility that scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules. For each module found, …

C++ 核心编程

一、 内存分区模型 C程序在执行时&#xff0c;将内存大方向划分为4个区域 代码区&#xff1a;存放函数体的二进制代码&#xff0c;由操作系统进行管理 全局区&#xff1a;存放全局变量和静态变量以及常量 栈区&#xff1a;由编译器自动分配释放&#xff0c;存放函数的参数值、…

gensim conherence model C_V 值与其他指标负相关BUG

在我用gensim3.8.3 conherence model分析京东评论主题模型时&#xff0c; C_V 与npmi、u_mass出现了强烈的皮尔逊负相关&#xff1a; 这些地方也反映了类似问题&#xff1a; https://github.com/dice-group/Palmetto/issues/12 https://github.com/dice-group/Palmetto/issue…

测等保2.0——安全区域边界

一、前言 今天我们来说说安全区域边界&#xff0c;顾名思义&#xff0c;安全区域边界就是保障网络边界处&#xff0c;包括网络对外界的边界和内部划分不同区域的交界处&#xff0c;我们的重点就是查看这些边界处是否部署必要的安全设备&#xff0c;包括防火墙、网闸、网关等安…

hypef 九、日志

教程&#xff1a;Hyperf hyperf结合monolog是属于低耦合&#xff0c;通过配置文件和调用工厂类设置参数设置实例。 monolog详见Monolog 修改_lsswear的博客-CSDN博客&#xff0c;理解monolog原理之后若有对应的报错比较好改。 一、使用LoggerFactory #/config/autoload/log…