1. 程式人生 > >基於CentOS的pip本地源搭建方法

基於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

    注:該步操作由於網路環境不同,可能出現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本地源伺服器搭建完畢。