制作pip源(按需,非鏡像方式)


全部下載所有的鏡像文件有時候確實是比較耗時的,那么也可以僅同步所需的Pypi包。
下面我們用一個叫做 pip2pi 的工具僅同步所需的Pypi包

安裝pip2pi工具

$ pip install pip2pi

$ git clone https://github.com/wolever/pip2pi
$ cd pip2pi
$ python setup.py install

創建存放軟件包的倉庫

$ sudo mkdir /var/spool/pypi-mirror

下載軟件包

單個下載,比如:

$ pip2tgz /var/spool/pypi-mirror/ routes==1.12.3

批量下載,比如:

$ pip2tgz /var/spool/pypi-mirror/ -r requirements.txt

requirements.txt文件是一個待下載軟件包列表,比如openstack需求的包列表。

建立索引:

$ dir2pi /var/spool/pypi-mirror/

更新版本

若軟件需求有更新,可以如下更新索引:

$ pip2acmeco uliweb=0.2.6
$ pip2acmeco -r list/requirements.txt

發布

最后,將庫地址配置給http服務就行了,方法同apt的類似,也可以采用自己的服務軟件,比如nginx配置,這里介紹nginx的配置方法。
給Nginx服務器添加虛擬主機配置:

server {
    listen 80;
    server_name [hostname];
    root /var/spool/pypi-mirror;
    location /{
        autoindex on;
        autoindex_exact_size off; #顯示文件的大小
        autoindex_localtime on; #顯示文件時間
        #limit_rate_after 5m; #5分鍾后下載速度限制為200k
        limit_rate 200k;
    }
    access_log logs/pypi.hostname.com.access.log main;
}

當然也可以像apt源的部署方法一樣,做一個軟鏈接給apache2,或者配置apache

$ sudo ln -s /var/spool/pypi-mirror /var/www/html/pypi

完。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM