最近公司的单元测试任务经常失败,基本都是因为网络原因下载pip包失败,为此,花了点时间搭建了私有的pypi源来解决此类问题。
准备工作
需要准备一台服务器,分配足够的磁盘空间(不少于500G)。
安装bandersnatch
我试着安装了几个不同版本的bandersnatch,只有1.11版本安装成功。
wget https://bitbucket.org/pypa/bandersnatch/get/1.11.tar.gz
tar -xzvf 1.11.tar.gz
安装
cd pypa-bandersnatch-76b72f3ebd6c
python setup.py install
pip install -r pypa-bandersnatch-76b72f3ebd6c/requirements.txt
初始化及配置
首次运行时创建配置文件
bandersnatch mirror
这一步,会创建默认的配置文件/etc/bandersnatch.conf
修改配置文件
vim /etc/bandersnatch.conf
1 | [mirror] |
开始同步
bandersnatch mirror
添加到定时任务
添加到cron的定时任务,例如每天同步。
[root@Ctrust ~]# cat /etc/cron.daily/sync-pip.cron
#!/bin/bash
/usr/bin/bandersnatch mirror