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中MySQLdb模块用法实例
Nov 10 Python
python实现类的静态变量用法实例
May 08 Python
Python实现视频下载功能
Mar 14 Python
python 3利用Dlib 19.7实现摄像头人脸检测特征点标定
Feb 26 Python
Python爬虫使用脚本登录Github并查看信息
Jul 16 Python
Python Tkinter模块实现时钟功能应用示例
Jul 23 Python
python中join()方法介绍
Oct 11 Python
Python流程控制 if else实现解析
Sep 02 Python
WxPython实现无边框界面
Nov 18 Python
Python爬虫解析网页的4种方式实例及原理解析
Dec 30 Python
新手学习Python2和Python3中print不同的用法
Jun 09 Python
详解python第三方库的安装、PyInstaller库、random库
Mar 03 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
自己做矿石收音机
2021/03/02 无线电
PHP仿盗链代码
2012/06/03 PHP
基于php伪静态的实现详细介绍
2013/04/28 PHP
ThinkPHP独立分组使用的注意事项
2014/11/25 PHP
php 使用array函数实现分页
2015/02/13 PHP
PHP内核学习教程之php opcode内核实现
2016/01/27 PHP
Mac系统下安装PHP Xdebug
2018/03/30 PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
2019/04/03 PHP
laravel orm 关联条件查询代码
2019/10/21 PHP
PHP数组对象与Json转换操作实例分析
2019/10/22 PHP
用Greasemonkey 脚本收藏网站会员信息到本地
2009/10/26 Javascript
通过jQuery源码学习javascript(三)
2012/12/27 Javascript
jQuery中操控hidden、disable等无值属性的方法
2014/01/06 Javascript
关于延迟加载JavaScript
2015/05/05 Javascript
JS判断是否长按某一键的方法
2016/03/02 Javascript
Vue.js中兄弟组件之间互相传值实例
2017/06/01 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
2017/09/04 Javascript
深入浅出webpack之externals的使用
2017/12/04 Javascript
JavaScript寄生组合式继承原理与用法分析
2019/01/11 Javascript
vue.js中ref及$refs的使用方法解析
2019/10/08 Javascript
vue 实现用户登录方式的切换功能
2020/04/14 Javascript
vue添加自定义右键菜单的完整实例
2020/12/08 Vue.js
[39:21]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.24
2019/09/10 DOTA
PyQT实现多窗口切换
2018/04/20 Python
Python应用库大全总结
2018/05/30 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
2019/02/20 Python
python中删除某个元素的方法解析
2019/11/05 Python
python3-flask-3将信息写入日志的实操方法
2019/11/12 Python
Haggar官网:美国男装品牌
2020/02/16 全球购物
介绍一下Python中webbrowser的用法
2013/05/07 面试题
网站创业计划书
2014/04/30 职场文书
初中学校军训方案
2014/05/09 职场文书
明星员工获奖感言
2014/08/14 职场文书
课题研究阶段性总结
2015/08/13 职场文书
2016学习医德医风心得体会
2016/01/25 职场文书
关于JavaScript回调函数的深入理解
2021/06/27 Javascript