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中的装饰器详解
Apr 13 Python
Python 实现一行输入多个值的方法
Apr 21 Python
python实现归并排序算法
Nov 22 Python
对python内置map和six.moves.map的区别详解
Dec 19 Python
对pandas的算术运算和数据对齐实例详解
Dec 22 Python
用OpenCV将视频分解成单帧图片,图片合成视频示例
Dec 10 Python
python实现局域网内实时通信代码
Dec 22 Python
Python读取表格类型文件代码实例
Feb 17 Python
python 基于opencv操作摄像头
Dec 24 Python
详解Python模块化编程与装饰器
Jan 16 Python
python实现黄金分割法的示例代码
Apr 28 Python
在python中读取和写入CSV文件详情
Jun 28 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
PHP4实际应用经验篇(8)
2006/10/09 PHP
PHP 如何利用phpexcel导入数据库
2013/08/24 PHP
Laravel 5 框架入门(四)完结篇
2015/04/09 PHP
Yii 2.0实现联表查询加搜索分页的方法示例
2017/08/02 PHP
js中将HTMLCollection/NodeList/伪数组转换成数组的代码
2011/07/31 Javascript
IE6浏览器下resize事件被执行了多次解决方法
2012/12/11 Javascript
js控制当再次点击按钮时的间隔时间
2014/06/03 Javascript
node.js中的console.timeEnd方法使用说明
2014/12/09 Javascript
纯javascript模仿微信打飞机小游戏
2015/08/20 Javascript
React中ES5与ES6写法的区别总结
2017/04/21 Javascript
AngularJS ionic手势事件的使用总结
2017/08/09 Javascript
js+html5生成自动排列对话框实例
2017/10/09 Javascript
JS实现websocket长轮询实时消息提示的效果
2017/10/10 Javascript
React Router v4 入坑指南(小结)
2018/04/08 Javascript
详解Nuxt.js部署及踩过的坑
2018/08/07 Javascript
Javascript中绑定click事件的四种方式介绍
2018/10/26 Javascript
vue在响应头response中获取自定义headers操作
2020/07/24 Javascript
学习python (2)
2006/10/31 Python
Python求解平方根的方法
2015/03/11 Python
Python3 XML 获取雅虎天气的实现方法
2018/02/01 Python
django使用xadmin的全局配置详解
2019/11/15 Python
python使用rsa非对称加密过程解析
2019/12/28 Python
TensorFlow MNIST手写数据集的实现方法
2020/02/05 Python
Python监听剪切板实现方法代码实例
2020/11/11 Python
pycharm 使用tab跳出正在编辑的括号(){}{}等问题
2021/02/26 Python
AmazeUI 缩略图的实现示例
2020/08/18 HTML / CSS
比利时家具购买网站:Home24
2019/01/03 全球购物
白酒市场开发计划书
2014/01/09 职场文书
服装电子商务创业计划书
2014/01/30 职场文书
应届毕业生自荐信例文
2014/02/26 职场文书
吃空饷专项治理工作实施方案
2014/03/04 职场文书
单位工程竣工验收方案
2014/03/16 职场文书
机械工程及自动化专业求职信
2014/09/03 职场文书
商务考察邀请函模板
2015/02/02 职场文书
国际贸易实训总结
2015/08/03 职场文书
LyScript实现绕过反调试保护的示例详解
2022/08/14 Python