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实现批量读取word中表格信息的方法
Jul 30 Python
Python的Flask框架中集成CKeditor富文本编辑器的教程
Jun 13 Python
Python中Threading用法详解
Dec 27 Python
django将图片上传数据库后在前端显式的方法
May 25 Python
Python 带有参数的装饰器实例代码详解
Dec 06 Python
正则给header的冒号两边参数添加单引号(Python请求用)
Aug 09 Python
Python 实现的 Google 批量翻译功能
Aug 26 Python
Python如何使用内置库matplotlib绘制折线图
Feb 24 Python
Python3开发实例之非关系型图数据库Neo4j安装方法及Python3连接操作Neo4j方法实例
Mar 18 Python
python使用信号量动态更新配置文件的操作
Apr 01 Python
Python+OpenCV实现在图像上绘制矩形
Mar 21 Python
Python中文分词库jieba(结巴分词)详细使用介绍
Apr 07 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/10/09 PHP
php编写一个简单的路由类
2011/04/13 PHP
List Information About the Binary Files Used by an Application
2007/06/18 Javascript
JavaScript 关键字屏蔽实现函数
2009/08/02 Javascript
浅谈 javascript 事件处理
2015/01/04 Javascript
jQuery实现的超简单点赞效果实例分析
2015/12/31 Javascript
最实用的jQuery分页插件
2016/10/09 Javascript
微信小程序开发之视频播放器 Video 弹幕 弹幕颜色自定义实例
2016/12/08 Javascript
react实现pure render时bind(this)隐患需注意!
2017/03/09 Javascript
微信小程序中顶部导航栏的实现代码
2017/03/30 Javascript
Vue.JS项目中5个经典Vuex插件
2017/11/28 Javascript
vue登录注册及token验证实现代码
2017/12/14 Javascript
vue 标签属性数据绑定和拼接的实现方法
2018/05/17 Javascript
Vue源码探究之状态初始化
2018/11/14 Javascript
原生JS实现汇率转换功能代码实例
2020/05/13 Javascript
vue中v-for循环选中点击的元素并对该元素添加样式操作
2020/07/17 Javascript
[03:18]DOTA2亚洲邀请赛小组赛第一日 RECAP赛事回顾
2015/01/30 DOTA
[01:06:32]DOTA2上海特级锦标赛D组资格赛#1 EG VS VP第一局
2016/02/28 DOTA
[56:41]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs OG
2018/04/01 DOTA
Python 元类使用说明
2009/12/18 Python
python之import机制详解
2014/07/03 Python
浅谈python中的实例方法、类方法和静态方法
2017/02/17 Python
详谈Python2.6和Python3.0中对除法操作的异同
2017/04/28 Python
详解Django rest_framework实现RESTful API
2018/05/24 Python
学习和使用python的13个理由
2019/07/30 Python
Python倒排索引之查找包含某主题或单词的文件
2019/11/13 Python
Python字符串的修改方法实例
2019/12/19 Python
在django中使用apscheduler 执行计划任务的实现方法
2020/02/11 Python
css3进阶之less实现星空动画的示例代码
2019/09/10 HTML / CSS
2014年学生会干事工作总结
2014/11/07 职场文书
水电施工员岗位职责
2015/04/11 职场文书
酒店财务部岗位职责
2015/04/14 职场文书
2015年九一八事变纪念活动实施方案
2015/05/06 职场文书
mysql的MVCC多版本并发控制的实现
2021/04/14 MySQL
Consul在linux环境的集群部署
2022/04/08 Servers
如何利用python实现列表嵌套字典取值
2022/06/10 Python