[Pipy]利用pip2pi搭建本地pypi源

當咱們一個團隊開發一個項目的時候,需要的Python第三方包基本是固定的。每次搭建新環境的時候老是因爲各類內外網,https問題花費大量的時間來安裝執行環境。 因此搭建一個本地的,小巧的,僅僅包括需要的package的源,或者cache都行,對於搭建好開發環境可以節省很是多時間。html


這裏使用的是pip2pi。可以指定一個下載源。pypi官方或者是國內的都行,把需要包同步到本地而後在本地搭建一個web服務。局域網內所有的用戶配置一下pip源以後就可以高速的搭建python環境了。python


實驗環境爲window7linux


第一步安裝pip2pinginx

1
pip install pip2pi


第二步 配置本機的pip源  編輯C:\Users\Administrator\pip\pip.ini 文件(內容例如如下)。沒有就建立一個。這裏是豆瓣web

1
2
3
[global]
timeout =  60
index-url = http: //pypi.douban.com/simple


第三步 同步軟件包 
apache

1 單個同步django

#pip2tgz /pypi name==version    /pypi是存放這些包的目錄 這裏使用的是E:\pipyjson

1
2
3
4
5
6
7
8
9
10
E:\dev1\nirvana>pip2tgz E:\pipy simplejson
Downloading/unpacking simplejson
   Downloading simplejson- 3.5 . 3 .tar.gz (70kB): 70kB downloaded
Saved e:\pipy\simplejson- 3.5 . 3 .tar.gz
Running setup.py egg_info  for  package  simplejson
 
Successfully downloaded simplejson
Cleaning up...
 
Done.  1  new  archives currently saved  in  'E:\\pipy' .

此時在pipy目錄中就能看到simplejson的包了
post


2 pip導出文件同步ui

#pip2tgz /var/www/packages/ -r requirements.txt foo==1.2 baz/

這裏使用的requirement.txt 文件內容爲

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Django== 1.5 . 5
MySQL-python== 1.2 . 3
amqp== 1.0 . 12
anyjson== 0.3 . 3
billiard== 2.7 . 3.31
celery== 3.0 . 19
django-celery== 3.0 . 17
django-kronos== 0.3
httplib2== 0.8
kombu== 2.5 . 12
python-dateutil== 2.1
pytz==2013b
reportlab== 2.7
six== 1.3 . 0
wsgiref== 0.1 . 2
xlwt== 0.7 . 5

運行

1
pip2tgz E:\pipy -r requirement.txt

把所有的包下載下來,這裏會本身主動安裝(有點奇怪),linux下運行正常下載,但老是因爲某些編譯問題或者包版本號過時的請問發生異常沒法往下進行。這個比較煩人


第三步:建立更新索引(整個索引就是依據文件夾下的包生成一個網頁文件,興許搭建web服務就可以直接用pip安裝了)

對整個文件夾創建索引

1
E:\dev1>dir2pi E:\pipy


更新索引,對單個軟件或這是list

1
2
pip2acmeco name
pip2acmeco -r requirements.txt



可以使用apache或者nginx來搭建本地的web服務,而後其它機器更新pip.ini文件就可以使用本身搭建的源了。


詳細可以參考:搭建本地pypi源方法   配置pipy源方法

相關文章
相關標籤/搜索