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开发之基于thread线程搜索本地文件的方法
Nov 11 Python
python相似模块用例
Mar 04 Python
Python使用迭代器捕获Generator返回值的方法
Apr 05 Python
Collatz 序列、逗号代码、字符图网格实例
Jun 22 Python
Python 网络爬虫--关于简单的模拟登录实例讲解
Jun 01 Python
Django objects的查询结果转化为json的三种方式的方法
Nov 07 Python
Python3安装Pillow与PIL的方法
Apr 03 Python
Python直接赋值、浅拷贝与深度拷贝实例分析
Jun 18 Python
用Python获取摄像头并实时控制人脸的实现示例
Jul 11 Python
PyQt5多线程刷新界面防假死示例
Dec 13 Python
Selenium python时间控件输入问题解决方案
Jul 22 Python
bat批处理之字符串操作的实现
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 面向对象实现代码
2009/11/11 PHP
PHP使用redis消息队列发布微博的方法示例
2017/06/22 PHP
tp5(thinkPHP5)框架实现多数据库查询的方法
2019/01/10 PHP
JsEasy简介 JsEasy是什么?与下载
2007/03/07 Javascript
JQuery中的$.getJSON 使用说明
2011/03/10 Javascript
js中根据字数截取字符串,不能截断url
2012/01/12 Javascript
图标线性回归斜着移动到指定的位置
2013/08/16 Javascript
对new functionName()定义一个函数的理解
2014/05/22 Javascript
一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子
2014/06/26 Javascript
node.js中的fs.existsSync方法使用说明
2014/12/17 Javascript
Javascript中的匿名函数与封装介绍
2015/03/15 Javascript
javascript关于open.window子页面执行完成后刷新父页面的问题分析
2015/04/27 Javascript
JS产生随机数的用法小结
2016/12/10 Javascript
利用vue + element实现表格分页和前端搜索的方法
2017/12/25 Javascript
vue使用xe-utils函数库的具体方法
2018/03/06 Javascript
JavaScript捕捉事件和阻止冒泡事件实例分析
2018/08/03 Javascript
JS实现图片切换效果
2018/11/17 Javascript
js JSON.stringify()基础详解
2019/06/19 Javascript
[01:56]生活中的妖精之七夕特别档
2016/08/09 DOTA
Python logging模块学习笔记
2014/05/24 Python
python一键升级所有pip package的方法
2017/01/16 Python
Python实现获取磁盘剩余空间的2种方法
2017/06/07 Python
Python编程二分法实现冒泡算法+快速排序代码示例
2018/01/15 Python
python查看列的唯一值方法
2018/07/17 Python
只需7行Python代码玩转微信自动聊天
2019/01/27 Python
对django2.0 关联表的必填on_delete参数的含义解析
2019/08/09 Python
python sorted函数的小练习及解答
2019/09/18 Python
基于python调用psutil模块过程解析
2019/12/20 Python
解析Python 偏函数用法全方位实现
2020/06/26 Python
学python需要去培训机构吗
2020/07/01 Python
HTML5 history新特性pushState、replaceState及两者的区别
2015/12/26 HTML / CSS
澳大利亚工具仓库:Tools Warehouse
2018/10/15 全球购物
原告代理词范文
2015/05/25 职场文书
医学生自荐信范文(2016精选篇)
2016/01/28 职场文书
Nginx禁止ip访问或非法域名访问
2022/04/07 Servers
Win11任务栏无法正常显示 资源管理器不停重启的解决方法
2022/07/07 数码科技