如何搭建本身的 pip 本地 cache

开发Openstack相关项目的时候常常会本身搭建测试环境,搭建测试环境少不了下载pip包,可是身在天朝,下载pipy的包老是会断开,速度很是慢,常常变动环境的同窗必定深受此害,因此我决定在最近一次性解决这个问题。 apache

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

搭建PIP源

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

这里介绍的一种方法可能更适合于我的开发者,就是把全部的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 ide

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

下面咱们配置apache ui

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

<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> spa

配置完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的时候速度会变得很是快

相关文章
相关标签/搜索