Python的包管理器pip更换软件源的方法详解


Posted in Python onJune 20, 2016

pip镜像源
在国内如果不使用 VPN 是没办法好好使用 pip 命令安装任何 Python 包的。所以另一个选择就是使用国内各大厂的开源镜像源。

目前国内靠谱的 pip 镜像源有:

  • 清华: https://pypi.tuna.tsinghua.edu.cn/simple
  • 豆瓣: http://pypi.douban.com/simple/
  • 阿里: http://mirrors.aliyun.com/pypi/simple/

在 pip 命令中使用镜像源很简单,在执行 install 命令时,使用 -i 参数加上源地址就可以了,例如:

pip install django -i http://pypi.douban.com/simple/

上面的命令就会使用豆瓣的源来安装 django。

如果经常要安装各类程序包,这样使用起来还是有点不方便的。把镜像地址放到 pip 的全局配置文件中也许是个不错的选择。编辑 ~/.pip/pip.conf 文件(如果不存在可以按路径新建),添加或修改以下配置:

临时使用

pip install pythonModuleName -i http://pypi.douban.com --trusted-host=pypi.douban.com

在命令行中添加以上参数,可以让pip从制定的镜像源安装软件。

配置

[global]
index-url = http://pypi.douban.com/simple/


上面的配置就是把豆瓣的源应用到全局环境。之后使用 pip 命令就不需要再指定镜像源参数。

在最新的 pip 版本(>=7)中,使用镜像源时,会提示源地址不受信任或不安全。所以需要在 pip 的配置文件指定一下镜像源是受信任的。配置示例如下:

[install]
trusted-host = http://pypi.douban.com/simple/

当然也可以不用添加,在每次执行 pip 命令时,附加上 --trusted-host 参数,后面再把镜像源地址加上就好。

问题

  • http://pypi.douban.com不提供HTTPS连接,关心安全问题的话,请三思后再决定是否使用。这个问题也导致在配置时,需要添加--trusted-host参数,假设软件源是安全的。
  • 虽然修改了软件源,但是pip search命令还是不能使用的,因为搜索软件使用的协议与安装软件不同。pip search基于xmlrpclib实现,pip install基于urllib2实现。同样地,对pip search设置代理,也是不起作用的。

Python 相关文章推荐
Python多线程编程(六):可重入锁RLock
Apr 05 Python
python下os模块强大的重命名方法renames详解
Mar 07 Python
Python优先队列实现方法示例
Sep 21 Python
放弃 Python 转向 Go语言有人给出了 9 大理由
Oct 20 Python
Python获取本机所有网卡ip,掩码和广播地址实例代码
Jan 22 Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
Jan 27 Python
详解python OpenCV学习笔记之直方图均衡化
Feb 08 Python
对Python捕获控制台输出流的方法详解
Jan 07 Python
对python使用telnet实现弱密码登录的方法详解
Jan 26 Python
Python计算IV值的示例讲解
Feb 28 Python
Jupyter 无法下载文件夹如何实现曲线救国
Apr 22 Python
python 使用tkinter+you-get实现视频下载器
Nov 17 Python
python3.5使用tkinter制作记事本
Jun 20 #Python
浅谈python抛出异常、自定义异常, 传递异常
Jun 20 #Python
python3 与python2 异常处理的区别与联系
Jun 19 #Python
浅谈Python的异常处理
Jun 19 #Python
qpython3 读取安卓lastpass Cookies
Jun 19 #Python
python3实现读取chrome浏览器cookie
Jun 19 #Python
python3 实现的人人影视网站自动签到
Jun 19 #Python
You might like
php下使用curl模拟用户登陆的代码
2010/09/10 PHP
PHP添加Xdebug扩展的方法
2014/02/12 PHP
php实例分享之二维数组排序
2014/05/15 PHP
php按单词截取字符串的方法
2015/04/07 PHP
php判断手机浏览还是web浏览,并执行相应的动作简单实例
2016/07/28 PHP
php中通过eval实现字符串格式的计算公式
2017/03/18 PHP
Laravel框架路由和控制器的绑定操作方法
2018/06/12 PHP
用js控制组织结构图可以任意拖拽到指定位置
2014/01/17 Javascript
js 实现的可折叠留言板(附源码下载)
2014/07/01 Javascript
使用javascript获取页面名称
2014/12/23 Javascript
JS实现进入页面时渐变背景色的方法
2015/02/25 Javascript
jQuery简单实现遍历数组的方法
2015/04/14 Javascript
node.js操作mongodb学习小结
2015/04/25 Javascript
ECHO.js 纯javascript轻量级延迟加载的实例代码
2016/05/24 Javascript
AngularJS  $on、$emit和$broadcast的使用
2016/09/05 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
2017/01/22 Javascript
基于 Vue 的树形选择组件的示例代码
2017/08/18 Javascript
JavaScript中工厂函数与构造函数示例详解
2019/05/06 Javascript
vue实现简单瀑布流布局
2020/05/28 Javascript
[05:09]DOTA2-DPC中国联赛2月22日Recap集锦
2021/03/11 DOTA
Python multiprocessing模块中的Pipe管道使用实例
2015/04/11 Python
Python不使用int()函数把字符串转换为数字的方法
2018/07/09 Python
让你Python到很爽的加速递归函数的装饰器
2019/05/26 Python
python英语单词测试小程序代码实例
2019/09/09 Python
Keras实现DenseNet结构操作
2020/07/06 Python
python爬取”顶点小说网“《纯阳剑尊》的示例代码
2020/10/16 Python
HTML5拖拽API经典实例详解
2018/04/20 HTML / CSS
澳大利亚婴儿喂养品牌:Cherub Baby
2018/11/01 全球购物
最新的小工具和卓越的产品设计:Oh That Tech!
2019/08/07 全球购物
Ajax的工作原理
2015/12/04 面试题
如何写出高质量、高性能的MySQL查询
2014/11/17 面试题
四风问题自查报告剖析材料
2014/02/08 职场文书
班长演讲稿范文
2014/04/24 职场文书
2014年语文教师工作总结
2014/12/18 职场文书
幼儿园工作总结2015
2015/04/01 职场文书
2015年秋季小学开学典礼主持词
2015/07/16 职场文书