当我们一个团队开发一个项目的时候,需要的Python第三方包基本是固定的,每次搭建新环境的时候总是因为各种内外网,https问题花费大量的时间来安装运行环境。 所以搭建一个本地的,小巧的,只包含需要的package的源,或者cache都行,对于搭建环境可以节省很多时间。
这里使用的是pip2pi,可以指定一个下载源,pypi官方或者是国内的都行,把需要包同步到本地然后在本地搭建一个web服务,局域网内所有的用户配置一下pip源之后就可以快速的搭建python环境了。
实验环境为window7
?
第一步安装pip2pi
| 
 
1 
 | 
pip
 install pip2pi | 
第二步 配置本机的pip源 编辑C:\Users\Administrator\pip\pip.ini 文件(内容如下),没有就创建一个,这里是豆瓣
| 
 
1 
2 
3 
 | 
[global]timeout
 = 60index-url
 = http://pypi.douban.com/simple | 
第三步 同步软件包 
1 单个同步
#pip2tgz /pypi name==version /pypi是存放这些包的文件夹 这里使用的是E:\pipy
| 
 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
 | 
E:\dev1\nirvana>pip2tgz
 E:\pipy simplejsonDownloading/unpacking
 simplejson  Downloading
 simplejson-3.5.3.tar.gz
 (70kB): 70kB downloadedSaved
 e:\pipy\simplejson-3.5.3.tar.gzRunning
 setup.py egg_info for package simplejsonSuccessfully
 downloaded simplejsonCleaning
 up...Done. 1 new archives
 currently saved in ‘E:\\pipy‘. | 
此时在pipy文件夹中就能看到simplejson的包了
2 pip导出文件同步
#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.5MySQL-python==1.2.3amqp==1.0.12anyjson==0.3.3billiard==2.7.3.31celery==3.0.19django-celery==3.0.17django-kronos==0.3httplib2==0.8kombu==2.5.12python-dateutil==2.1pytz==2013breportlab==2.7six==1.3.0wsgiref==0.1.2xlwt==0.7.5 | 
执行
| 
 
1 
 | 
pip2tgz
 E:\pipy -r requirement.txt | 
把所有的包下载下来,这里会自动安装(有点奇怪)
第三步:创建更新索引(整个索引就是根据目录下的包生成一个网页文件,后续搭建web服务就可以直接用pip安装了)
对整个目录建立索引
| 
 
1 
 | 
E:\dev1>dir2pi
 E:\pipy | 
更新索引,对单个软件或这是list
| 
 
1 
2 
 | 
pip2acmeco
 namepip2acmeco
 -r requirements.txt | 
可以使用apache或者nginx来搭建本地的web服务,然后其他机器更新pip.ini文件就可以使用自己搭建的源了。
具体可以参考:搭建本地pypi源方法 配置pipy源方法
原文:http://blog.csdn.net/orangleliu/article/details/37969115