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下的twisted框架入门指引
Apr 15 Python
Python的Django框架中URLconf相关的一些技巧整理
Jul 18 Python
python实现备份目录的方法
Aug 03 Python
浅析Python中signal包的使用
Nov 13 Python
python脚本实现数据导出excel格式的简单方法(推荐)
Dec 30 Python
python利用不到一百行代码实现一个小siri
Mar 02 Python
python调用外部程序的实操步骤
Mar 04 Python
PyTorch基本数据类型(一)
May 22 Python
解决Python列表字符不区分大小写的问题
Dec 19 Python
Python API 操作Hadoop hdfs详解
Jun 06 Python
python实现录制全屏和选择区域录屏功能
Feb 05 Python
python开发飞机大战游戏
Jul 15 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中检查文件或目录是否存在的代码小结
2012/10/22 PHP
php中session退出登陆问题
2014/02/27 PHP
详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
2015/07/31 PHP
PHP的文件操作与算法实现的面试题示例
2015/08/10 PHP
深入认识javascript中的eval函数
2009/11/02 Javascript
js获取IP和PcName(IE)在vs中可用
2013/08/02 Javascript
Javascript中的getUTCHours()方法使用详解
2015/06/10 Javascript
表单input项使用label同时引用Bootstrap库导致input点击效果区增大问题
2016/10/11 Javascript
Jquery实现上下移动和排序代码
2016/10/17 Javascript
bootstrap手风琴制作方法详解
2017/01/11 Javascript
angular实现form验证实例代码
2017/01/17 Javascript
手机端转换rem适应
2017/04/01 Javascript
JS实现的四级密码强度检测功能示例
2017/05/11 Javascript
JS倒计时实例_天时分秒
2017/08/22 Javascript
JS实现生成由字母与数字组合的随机字符串功能详解
2018/05/25 Javascript
vue项目中使用Svg的方法
2018/10/24 Javascript
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
2018/11/14 Javascript
Vue+ElementUI项目使用webpack输出MPA的方法
2019/08/27 Javascript
javaScript把其它类型转换为Number类型
2019/10/13 Javascript
javascript实现一款好看的秒表计时器
2020/09/05 Javascript
[02:41]辉夜杯现场一家三口 “我爸玩风行 我玩血魔”
2015/12/27 DOTA
[00:39]DOTA2上海特级锦标赛 Liquid战队宣传片
2016/03/04 DOTA
Python实现快速排序算法及去重的快速排序的简单示例
2016/06/26 Python
Python多线程threading和multiprocessing模块实例解析
2018/01/29 Python
使用Anaconda3建立虚拟独立的python2.7环境方法
2018/06/11 Python
python实现连连看辅助之图像识别延伸
2019/07/17 Python
pytorch+lstm实现的pos示例
2020/01/14 Python
python 实现全球IP归属地查询工具
2020/12/18 Python
Python的信号库Blinker用法详解
2020/12/31 Python
用CSS3实现背景渐变的方法
2015/07/14 HTML / CSS
外贸专业求职信
2014/03/09 职场文书
股东出资证明书范例
2014/10/04 职场文书
西岭雪山导游词
2015/02/06 职场文书
体育个人工作总结
2015/02/09 职场文书
毕业证明模板
2015/06/19 职场文书
pytorch 实现多个Dataloader同时训练
2021/05/29 Python