如何搭建本地的PIP源提高Devstack和venv环境的安装速度
2013-07-28 08:40
211 查看
背景
使用Devstack进行研发环境搭建的时候,或者在进行单元测试创建venv环境时,总是需要从pip源进行大量安装,而因为网络问题导致无法正常安装的情况屡有发生,那么这里就介绍一下如何搭建本地的OpenStack的PIP源,并且如何在客户端正确设置来使用他们。
PIP源的搭建
首先,无疑先要有个Apache环境,建立一个叫pip的目录,存放所有的pip安装包。
搭建源的方法有两种,一种是直接将公网的pip源下载到本地,之后用crontab定期同步就可以了,这样的好处是大而全,不好的是对于网络带宽较小的,简直就是拉锯战。
这里介绍的第二种方法可能更经济实惠,我是从之前一篇源代码安装OpenStack获得的启发。基本的思路就是把所有的pip-requires和test-requires文件汇聚到一个文件,之后利用pip进行download,做到为OpenStack量身定制。
当然我们也可以把他们合并在一起,方便下载。这里建议把pip升级到最新版本之后再去下载,这里用一小段脚本去实现下载,而并没有用到pip -r的指令,因为通过实践发现,在遇到重复的pip包时候,pip会自动的停止下载。
这样就完成了定制版pip源的下载。
客户端的设置
经过试验发现,如果通过本地的pip源进行安装,需要让pip和easyinstall同时指向本地pip源,否则仍然会有包从远程进行下载。具体方式如下:
使用Devstack进行研发环境搭建的时候,或者在进行单元测试创建venv环境时,总是需要从pip源进行大量安装,而因为网络问题导致无法正常安装的情况屡有发生,那么这里就介绍一下如何搭建本地的OpenStack的PIP源,并且如何在客户端正确设置来使用他们。
PIP源的搭建
首先,无疑先要有个Apache环境,建立一个叫pip的目录,存放所有的pip安装包。
搭建源的方法有两种,一种是直接将公网的pip源下载到本地,之后用crontab定期同步就可以了,这样的好处是大而全,不好的是对于网络带宽较小的,简直就是拉锯战。
这里介绍的第二种方法可能更经济实惠,我是从之前一篇源代码安装OpenStack获得的启发。基本的思路就是把所有的pip-requires和test-requires文件汇聚到一个文件,之后利用pip进行download,做到为OpenStack量身定制。
find . -name pip-requires -exec cat {} \; > pip-requires.all
find . -name test-requires -exec cat {} \; > test-requires.all
当然我们也可以把他们合并在一起,方便下载。这里建议把pip升级到最新版本之后再去下载,这里用一小段脚本去实现下载,而并没有用到pip -r的指令,因为通过实践发现,在遇到重复的pip包时候,pip会自动的停止下载。
#!/bin/bash PIP_REQUIRE="pip-requires" CACHE_PATH="pip" while read LINE do if [[ $LINE =~ ^[a-zA-Z] ]] then echo $LINE yes w | pip install $LINE --no-install -d pip -I fi done < $PIP_REQUIRE
这样就完成了定制版pip源的下载。
客户端的设置
经过试验发现,如果通过本地的pip源进行安装,需要让pip和easyinstall同时指向本地pip源,否则仍然会有包从远程进行下载。具体方式如下:
vi $HOME/.pip/pip.conf
[global] find-links = http://192.168.0.30/pip no-index = true
vi $HOME/.pydistutils.cfg
[easy_install] index_url = http://192.168.0.30/pip[/code]
此时再次运行devstack或者run_tests.sh -f -V的时候,速度应该会快很多。
相关文章推荐
- 如何搭建本地的PIP源提高Devstack和venv环境的安装速度
- 如何用xampp搭建本地环境并安装zencart程序
- 本地如何搭建IPv6环境测试你的APP
- 图解Linux下如何搭建C#开发环境(还能写C/C++/Java等程序,只要安装相应的插件和编译器即可)
- php如何搭建本地运行环境
- tuzicms本地环境搭建 系统安装图文教程
- MAMP:在 OSX 中搭建 Apache, MySQL, PHP 环境并本地安装、调试 WordPress
- 搭建阿里云环境 - 阿里云 centOS 如何安装 node.js
- MAMP:在 OSX 中搭建 Apache, MySQL, PHP 环境并本地安装、调试 WordPress
- 如何搭建android的开发环境 虚拟机和ubuntu的安装与建立编译条件
- MAMP:在 OSX 中搭建 Apache, MySQL, PHP 环境并本地安装、调试 WordPress
- 本地如何搭建IPv6环境测试你的APP(转)
- 如何在Mac os X上搭建本地服务器环境
- 黄聪:Tiny Search Engine 环境的搭建(TSE如何在Ubuntu下安装)
- 详解用phpnow搭建本地环境安装dedecms
- 【本地调试环境一键安装包】php+mysql平台搭建集成软件总汇【php环境汇总】
- 如何搭建本地的Web测试环境
- 手把手教你如何搭建CTS测试环境---1、Ubantu U盘启动制作及安装
- 如何搭建android的开发环境 虚拟机和ubuntu的安装与建立编译条件