详解python使用pip安装第三方库(工具包)速度慢、超时、失败的解决方案

yipeiwu_com6年前Python基础

人生苦短,我用python!为什么很多人喜欢用python,因为包多呀,各种调包。但是调包有的时候也调的闹心,因为安装包不是失败就是很慢,很影响自己的工作进度,这里给出一个pip快速安装工具包的办法,希望能帮助到一些新入门python的同学们。

当我们在cmd窗口中使用命令:pip install 包名.文件格式 时候常常会出现安装失败的现象,你会看到下载的进度条,但是最后显示当下载到百分之几十的时候窗口中就会出现一堆红字,有如下类似提示:

以上这些图片都显示是python第三方库下载出问题了,这是由于我们在cmd窗口进行pip安装时候,默认是去下载国外资源,由于国内网络问题常常会网速不稳定甚至没有网速,这时候就会导致安装包时出现错误。解决办法有两种:

1、第一种是笨方法,首先搜索所需要的安装包,然后去国外的网站去下载这个安装包。(记住:你要下载的安装包的名称就是你在cmd窗口pip安装时候程序自动搜索下载那个安装包名,此外尽量选择迅雷下载,浏览器下载常常没有速度)下载后就cd到你下载包的文件夹中安装即可。在cmd窗口进行本地文件包安装时候你可以在窗口中看到系统可能会自动安装相关必备的其他包,可能也会出现下载失败情况,出现这种情况只需将下载不下来的包继续去国外网站下载然后再本地安装即可。

2、第二种就是一劳永逸的方法,选择国内镜像源,相当于你从国内的一些机构下载你所需的python第三方库,这样速度就杠杠的了。那么如何选择国内镜像源呢,如何配置呢?

首先找到C:\Users\Administrator\AppData\Roaming,这个路径的文件夹,有人会找不到,这是因为你的文件夹被隐藏了,解决办法如下:

打开c盘,点击左上角的“查看”-“选项”(文件夹选项)-勾选“显示隐藏的文件”,然后确定即可。这样你就能看到AppData文件夹了。(如下图)

找到路径后,首选在该路径下新建文件夹,命名为“pip”,然后在pip文件夹中新建一个txt格式的文本文档,打开文本文档,将下面这些代码复制到文本文档中,关闭保存。然后将txt格式的文本文档重新命名为“pip.ini”,这样就创建了一个配置文件。

[global]

timeout = 60000

index-url = https:// pypi.tuna.tsinghua.edu.cn /simple

[install]

use-mirrors = true

mirrors = https://pypi.tuna.tsinghua.edu.cn

文档中的链接地址还可以更换其他的如下:

阿里云 http:// mirrors.aliyun.com/pypi /simple/

中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

豆瓣(douban) http:// pypi.douban.com/simple/

清华大学 https:// pypi.tuna.tsinghua.edu.cn /simple/

中国科学技术大学 http:// pypi.mirrors.ustc.edu.cn /simple/

新建后的配置文件如下图:

这样再使用pip进行包安装时候就默认选择国内源进行安装了,速度超快!!!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python发送arp欺骗攻击代码分析

复制代码 代码如下:# -*- coding: cp936 -*-from scapy.all import *from threading import Thread,Lock,act...

简单了解python的一些位运算技巧

简单了解python的一些位运算技巧

前言 位运算的性能大家想必是清楚的,效率绝对高。相信爱好源码的同学,在学习阅读源码的过程中会发现不少源码使用了位运算。但是为啥在实际编程过程中应用少呢?想必最大的原因,是较为难懂。不过,...

实例讲解Python中的私有属性

在Python中可以通过在属性变量名前加上双下划线定义属性为私有属性,如例子: 复制代码 代码如下: #! encoding=UTF-8   class A:  &n...

python虚拟环境完美部署教程

一、前言 预处理 建议仔细看完本文章之后在进行操作,避免失误,本环境可以用于生产环境,有利于生产环境python之间的环境隔离,互相不会产生环境冲突;pyenv和pyenv-virtua...

Python 中@property的用法详解

在绑定属性时,如果我们直接把属性赋值给对象,比如: p = Person() p.name= 'Mary' 我们先看个详细的例子(注意双下划线name和age定义为私有变量):...