如何搭建自己的 pip 本地 cache

开发Openstack相关项目的时候经常会自己搭建测试环境,搭建测试环境少不了下载pip包,但是身在天朝,下载pipy的包总是会断开,速度非常慢,经常变更环境的同学一定深受此害,所以我决定在最近一次性解决这个问题。

于是开始着手研究pipy的东西,发现有一个比较简单的方法可以按照固定的版本缓存本地的pip包。

搭建PIP源

首先,无疑先要有个Apache环境,建立一个叫pip的目录,存放所有的pip安装包。
搭建源的方法有两种,一种是直接将公网的pip源下载到本地,之后用crontab定期同步就可以了,这样的好处是大而全,不好的是对于网络带宽较小的,简直就是拉锯战。

这里介绍的一种方法可能更适合于个人开发者,就是把所有的requirementst的内容全部集中起来,然后利用pip download下来做成源。

这是一个下载Pip包的脚本,我暂且称之为download.sh

#!/bin/bash
PIP_REQUIRE=”pip-requires”
CACHE_PATH=”/opt/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

其中Cache_Path为当前pip包存放的位置

下面我们配置apache

<VirtualHost *:80>
ServerAdmin jimjiang@gmail.com
ServerName test.jimflying.com
DocumentRoot /opt

<Directory /opt>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ErrorLog logs/mirrors-error_log
CustomLog logs/mirrors-access_log common
</VirtualHost>

配置完apache以后服务器端完成了

现在开始配置客户端

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

这时候再pip install -r requirements的时候速度会变得非常快

转载于:https://my.oschina.net/renguijiayi/blog/222976

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值