基于CentOS的pip本地源搭建方法


    Devstack自动化部署OpenStack需要依赖三个源,如果依赖外部的源服务器,那么将严重依赖网络的状况和GFW,运气好的话搭建过程非常顺利,运气不好会碰到各种问题,这三个源是:

(1)ubuntu源

(2)Openstack github源

(3)PYPI源(pip源)

    其中,ubuntu源可以很简单的做成本地源,github也可以通过gitlab本地源来代替,但是pip源搭建的比较少,这里详细介绍下载centos上如何单间本地pip源。

  1. 安装python-2.7.7

    centos自带python-2.6,这里需要python 2.7,所以下载最新版本的python,目前是2.7.7,下载完成后解压安装。

     tar zxvf Python-2.7.5.tgz
     cd Python-2.7.5
     ./configure --prefix=/usr/local
     make && make altinstall

2. 安装distribute(目前最新版本是distribute-0.7.3)

   unzip distribute-0.7.3.zip
   cd distribute-0.7.3
   python2.7 setup.py install

3. 安装virtualenv

    easy_install-2.7 virtualenv

4. 安装bandsnatch

    virtualenv-2.7 bandersnatch
    cd bandersnatch
    bin/pip install -r https://bitbucket.org/ctheune/bandersnatch/raw/stable/requirements.txt

    注:该步操作由于网络环境不同,可能出现timeout的错误,可重新执行多次。

5. 设置bandsnatch

    cd /opt/bandersnatch
    bin/bandersnatch mirror

    注:执行此命令后,会有如下输出:

   2014-06-14 16:25:28,645 WARNING: Config file '/etc/bandersnatch.conf' missing, creating default config.
   2014-06-14 16:25:28,645 WARNING: Please review the config file, then run 'bandersnatch' again.

    需要重新编辑/etc/bandersnatch.conf文件,修改pypi源的存储路径,即将#directory = /srv/pypi 修改为你自己的路径,比如directory = /pypi

    修改完成后,重新执行bin/bandersnatch mirror,就开始同步pip官方源到本地,此过程可能比较长,而且可能会由于网络原因超时报错,需要多次重复执行该命令

6. 配置Apache,即将pip做成本地web源

    ln -s /pypi/web /var/www/html/pypi

7. 设置pip客户端,指定从刚搭建好的本地源安装pypi软件包

   mkdir ~/.pip
   vim ~/.pip/pip.conf

  --------------- pip.conf-----------------------------------------------

 [global]
 index-url = http://local_ip/pypi/simple

 

 至此,pip本地源服务器搭建完毕。

相关内容