一、安装pip2pi工具:
1
|
pip install pip2pi
|
或:
1
2
3
|
git clone https: //github .com /wolever/pip2pi
cd pip2pi
python setup.py install
|
二、创建存放软件包的仓库:
1
|
mkdir /opt/python/soft/pypi .jb51.net
|
三、下载软件包并建立索引:
单独下载某个软件包
1
|
pip2tgz /opt/python/soft/pypi .jb51.net/ routes==1.12.3
|
批量下载软件包:
1
|
pip2tgz /opt/python/soft/pypi .jb51.net/ -r list /requirements .txt
|
建立索引:
1
|
dir2pi /opt/python/soft/pypi .jb51.net/
|
更新索引:
1
2
|
pip2acmeco uliweb=0.2.6
pip2acmeco -r list /requirements .txt
|
四、结合nginx配置web端:
Nginx服务器添加虚拟主机配置:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
server {
listen 80;
server_name pypi.jb51.net;
root /opt/python/soft/pypi.jb51.net;
location /{
autoindex on;
autoindex_exact_size off; #显示文件的大小
autoindex_localtime on; #显示文件时间
#limit_rate_after 5m; #5分钟后下载速度限制为200k
limit_rate 200k;
}
access_log logs/pypi.jb51.net.access.log main;
}
|
至此已经配置完了自己的私有pypi了 需要什么软件包的时候,自己拿到放到自己的pypi里面就可以了;
同理也可以把自己的项目打包放进去。
五、如何更好的使用pypi源:
打个比方安装下uliweb吧
1
|
pip install --index-url=http: //pypi .jb51.net /simple/ uliweb
|
或者
1
|
pip install -i uliweb
|
这样是不是很麻烦,想不想默认就走自己的pypi源? 好吧,这里已经给你想好了一个方法啦:
在linux下创建~/.pip/pip.conf文件,文件内容如下
1
2
|
[global]
index-url = http://pypi.jb51.net/simple
|
如果是windows环境,创建:%HOMEPATH%\pip\pip.ini
内容和上面linux下一样.
同时推荐几个比较好的国内pypi源:
1
2
3
4
5
6
7
|
http://pypi.douban.com 豆瓣
http://pypi.hustunique.com 华中理工大学
http://pypi.sdutlinux.org 山东理工大学
http://pypi.mirrors.ustc.edu.cn 中国科学技术大学
|
PS:修改easy_install和pip使用的源有两种方式
(以Linux上从镜像源e.pypi.python.org下载安装requests为例):
命令方式:针对一次使用,临时修改
easy_install
1
|
easy_install -i http: //e .pypi.python.org /simple requests
|
pip
1
|
pip install requests -i http: //e .pypi.python.org /simple
|
注:1. 源路径要包含/simple部分;2. 使用pip时-i参数应放在install xxx的后面
修改(若没有,则创建)easy_install/pip的配置文件
easy_install:在~/.pydistutils.cfg配置文件中写入如下内容:
1
2
|
[easy_install]
index_url = http://e.pypi.python.org/simple
|
pip:在~/.pip/pip.conf配置文件中写入:
1
2
|
[global]
index-url = http://e.pypi.python.org/simple
|