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类装饰器用法实例
Jun 04 Python
用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例
Dec 14 Python
解决pyttsx3无法封装的问题
Dec 24 Python
python实现顺时针打印矩阵
Mar 02 Python
详解python中TCP协议中的粘包问题
Mar 22 Python
python基于递归解决背包问题详解
Jul 03 Python
python+opencv像素的加减和加权操作的实现
Jul 14 Python
浅谈Python3实现两个矩形的交并比(IoU)
Jan 18 Python
Python TestSuite生成测试报告过程解析
Jul 23 Python
浅谈python锁与死锁问题
Aug 14 Python
python中entry用法讲解
Dec 04 Python
python实现发送QQ邮件(可加附件)
Dec 23 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生成静态页面详解
2006/11/19 PHP
PHP面向对象概念
2011/11/06 PHP
PHP小教程之实现双向链表
2014/06/12 PHP
PHP工厂模式的日常使用
2019/03/20 PHP
PHP实现基于状态的责任链审批模式详解
2019/05/31 PHP
用脚本调用样式的几种方法
2006/12/09 Javascript
excel操作之Add Data to a Spreadsheet Cell
2007/06/12 Javascript
javascript数组使用调用方法汇总
2007/12/08 Javascript
ASP中Sub和Function的区别说明
2020/08/30 Javascript
基于jquery的仿百度搜索框效果代码
2011/04/11 Javascript
js 判断图片是否加载完以及实现图片的预下载
2014/08/14 Javascript
jQuery右下角旋转环状菜单特效代码
2015/08/10 Javascript
JS获取文件大小方法小结
2015/12/08 Javascript
解析JavaScript面向对象概念中的Object类型与作用域
2016/05/10 Javascript
浅谈jquery的map()和each()方法
2016/06/12 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
2016/12/08 Javascript
详解vue几种主动刷新的方法总结
2019/02/19 Javascript
微信小程序实现倒计时功能
2020/11/19 Javascript
python实现超简单端口转发的方法
2015/03/13 Python
Python实现登录人人网并抓取新鲜事的方法
2015/05/11 Python
Python中的zipfile模块使用详解
2015/06/25 Python
python提取字典key列表的方法
2015/07/11 Python
Python实现MySQL操作的方法小结【安装,连接,增删改查等】
2017/07/12 Python
Python调用ctypes使用C函数printf的方法
2017/08/23 Python
pandas 两列时间相减换算为秒的方法
2018/04/20 Python
selenium+PhantomJS爬取豆瓣读书
2019/08/26 Python
Python 函数绘图及函数图像微分与积分
2019/11/20 Python
OpenCV里的imshow()和Matplotlib.pyplot的imshow()的实现
2019/11/25 Python
在Django中预防CSRF攻击的操作
2020/03/13 Python
详解Django中异步任务之django-celery
2020/11/05 Python
银行实习生的自我评价
2013/12/09 职场文书
策划创业计划书
2014/02/06 职场文书
《蒲公英》教学反思
2014/02/28 职场文书
如何写一份好的英文求职信
2014/03/19 职场文书
2016年寒假社会实践活动总结
2015/10/10 职场文书
使用Bandicam录制鼠标指针并附带点击声音,还可以添加点击动画效果
2022/04/11 数码科技