開發Openstack相關項目的時候常常會本身搭建測試環境,搭建測試環境少不了下載pip包,可是身在天朝,下載pipy的包老是會斷開,速度很是慢,常常變動環境的同窗必定深受此害,因此我決定在最近一次性解決這個問題。 apache
因而開始着手研究pipy的東西,發現有一個比較簡單的方法能夠按照固定的版本緩存本地的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的時候速度會變得很是快