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 相关文章推荐
Linux下编译安装MySQL-Python教程
Feb 02 Python
Python封装shell命令实例分析
May 05 Python
Python3实战之爬虫抓取网易云音乐的热门评论
Oct 09 Python
Python简单实现两个任意字符串乘积的方法示例
Apr 12 Python
Python 3.3实现计算两个日期间隔秒数/天数的方法示例
Jan 07 Python
Python提取支付宝和微信支付二维码的示例代码
Feb 15 Python
对Python3 * 和 ** 运算符详解
Feb 16 Python
python读出当前时间精度到秒的代码
Jul 05 Python
Python实现微信小程序支付功能
Jul 25 Python
python 列表推导和生成器表达式的使用
Feb 01 Python
python中super()函数的理解与基本使用
Aug 30 Python
Python3的进程和线程你了解吗
Mar 16 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 MySQL与分页效率
2008/06/04 PHP
Windows 下的 PHP-PEAR 安装方法
2010/11/20 PHP
浅谈thinkphp的实例化模型
2015/01/04 PHP
解析Jquery取得iframe中元素的几种方法
2013/07/04 Javascript
不使用浏览器运行javascript代码的方法
2013/07/24 Javascript
jQuery 1.9使用$.support替代$.browser的使用方法
2014/05/27 Javascript
BootStrap中Table分页插件使用详解
2016/10/09 Javascript
Javascript生成带参数的二维码示例
2016/10/10 Javascript
jQuery层级选择器实例代码
2017/02/06 Javascript
如何使用Bootstrap 按钮实例详解
2017/03/29 Javascript
Vue单文件组件的如何使用方式介绍
2017/07/28 Javascript
老生常谈js数据类型
2017/08/03 Javascript
微信小程序使用progress组件实现显示进度功能【附源码下载】
2017/12/12 Javascript
JS实现对json对象排序并删除id相同项功能示例
2018/04/18 Javascript
从零开始实现Vue简单的Toast插件
2018/12/03 Javascript
微信小程序实现蓝牙打印
2019/09/23 Javascript
详解Vue后台管理系统开发日常总结(组件PageHeader)
2019/11/01 Javascript
jquery实现直播弹幕效果
2019/11/28 jQuery
JQuery插件tablesorter表格排序实现过程解析
2020/05/28 jQuery
解决Echarts2竖直datazoom滑动后显示数据不全的问题
2020/07/20 Javascript
让Vue响应Map或Set的变化操作
2020/11/11 Javascript
[01:54]TI珍贵瞬间系列(五):压力
2020/08/29 DOTA
Python连接MySQL并使用fetchall()方法过滤特殊字符
2016/03/13 Python
Python极简代码实现杨辉三角示例代码
2016/11/15 Python
利用Python代码实现数据可视化的5种方法详解
2018/03/25 Python
使用Python设计一个代码统计工具
2018/04/04 Python
python处理document文档保留原样式
2019/09/23 Python
自我鉴定思想方面
2013/10/07 职场文书
大学生创业感言
2014/01/25 职场文书
中文专业自荐书
2014/06/29 职场文书
现场活动策划方案
2014/08/22 职场文书
上班迟到检讨书
2014/09/15 职场文书
2016年“5.12”国际护士节活动总结
2016/04/06 职场文书
Vue图片裁剪组件实例代码
2021/07/02 Vue.js
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
2022/04/08 Java/Android
golang三种设计模式之简单工厂、方法工厂和抽象工厂
2022/04/10 Golang