Python环境下搭建属于自己的pip源的教程


Posted in Python onMay 05, 2016

一、安装pip2pi工具:

pip install pip2pi

或:

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

二、创建存放软件包的仓库:

mkdir /opt/python/soft/pypi.3water.com

三、下载软件包并建立索引:

单独下载某个软件包

pip2tgz /opt/python/soft/pypi.3water.com/ routes==1.12.3

批量下载软件包:

pip2tgz /opt/python/soft/pypi.3water.com/ -r list/requirements.txt

建立索引:

dir2pi /opt/python/soft/pypi.3water.com/

更新索引:

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

四、结合nginx配置web端:

Nginx服务器添加虚拟主机配置:

server {
  listen 80;
  server_name pypi.3water.com;
  root /opt/python/soft/pypi.3water.com;
  location /{
   autoindex on;
   autoindex_exact_size off; #显示文件的大小
   autoindex_localtime on; #显示文件时间
   #limit_rate_after 5m; #5分钟后下载速度限制为200k
   limit_rate 200k;
  }
access_log logs/pypi.3water.com.access.log main;
}

至此已经配置完了自己的私有pypi了 需要什么软件包的时候,自己拿到放到自己的pypi里面就可以了;

同理也可以把自己的项目打包放进去。

五、如何更好的使用pypi源:

打个比方安装下uliweb吧

pip install --index-url=http://pypi.3water.com/simple/ uliweb

或者

pip install -i uliweb

这样是不是很麻烦,想不想默认就走自己的pypi源? 好吧,这里已经给你想好了一个方法啦:

在linux下创建~/.pip/pip.conf文件,文件内容如下

[global]
index-url = http://pypi.3water.com/simple

如果是windows环境,创建:%HOMEPATH%\pip\pip.ini

内容和上面linux下一样.

同时推荐几个比较好的国内pypi源:

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

easy_install -i http://e.pypi.python.org/simple requests

pip

pip install requests -i http://e.pypi.python.org/simple

注:1. 源路径要包含/simple部分;2. 使用pip时-i参数应放在install xxx的后面

修改(若没有,则创建)easy_install/pip的配置文件

easy_install:在~/.pydistutils.cfg配置文件中写入如下内容:

[easy_install]
index_url = http://e.pypi.python.org/simple

pip:在~/.pip/pip.conf配置文件中写入:

[global]
index-url = http://e.pypi.python.org/simple
Python 相关文章推荐
用python实现的去除win下文本文件头部BOM的代码
Feb 10 Python
Python中的字典与成员运算符初步探究
Oct 13 Python
JSON Web Tokens的实现原理
Apr 02 Python
关于Python中空格字符串处理的技巧总结
Aug 10 Python
手把手教你python实现SVM算法
Dec 27 Python
浅谈Python中的bs4基础
Oct 21 Python
python f-string式格式化听语音流程讲解
Jun 18 Python
python多进程并发demo实例解析
Dec 13 Python
如何打包Python Web项目实现免安装一键启动的方法
May 21 Python
python是怎么被发明的
Jun 15 Python
基于python实现生成指定大小txt文档
Jul 20 Python
python 浮点数四舍五入需要注意的地方
Aug 18 Python
使用Python判断质数(素数)的简单方法讲解
May 05 #Python
Python编程中归并排序算法的实现步骤详解
May 04 #Python
Python手机号码归属地查询代码
May 04 #Python
图文讲解选择排序算法的原理及在Python中的实现
May 04 #Python
浅谈插入排序算法在Python程序中的实现及简单改进
May 04 #Python
Python中使用插入排序算法的简单分析与代码示例
May 04 #Python
Python中函数参数设置及使用的学习笔记
May 03 #Python
You might like
PHP新手上路(十三)
2006/10/09 PHP
php实现的zip文件内容比较类
2014/09/24 PHP
php实现中文字符截取防乱码方法汇总
2015/04/29 PHP
tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
2019/05/28 PHP
javascript中this做事件参数相关问题解答
2013/03/17 Javascript
Jquery实现点击切换图片并隐藏显示内容(2种方法实现)
2013/04/11 Javascript
js实现的简单radio背景颜色选择器代码
2015/08/18 Javascript
JS实现倒计时(天数、时、分、秒)
2016/11/16 Javascript
js中常用的Math方法总结
2017/01/12 Javascript
Node.js设置CORS跨域请求中多域名白名单的方法
2017/03/28 Javascript
微信小程序实现下拉刷新和轮播图效果
2017/11/21 Javascript
Vue使用lodop实现打印小结
2019/07/06 Javascript
详谈Object.defineProperty 及实现数据双向绑定
2020/07/18 Javascript
Python的迭代器和生成器使用实例
2015/01/14 Python
在Django的URLconf中进行函数导入的方法
2015/07/18 Python
pandas Dataframe行列读取的实例
2018/06/08 Python
win10下python3.5.2和tensorflow安装环境搭建教程
2018/09/19 Python
利用Python如何实现一个小说网站雏形
2018/11/23 Python
python 错误处理 assert详解
2020/04/20 Python
Keras 使用 Lambda层详解
2020/06/10 Python
HTML5 canvas实现的静态循环滚动播放弹幕
2021/01/05 HTML / CSS
联想英国官网:Lenovo英国
2019/07/17 全球购物
周仰杰(JIMMY CHOO)法国官方网站:闻名世界的鞋子品牌
2019/09/27 全球购物
用Python写一个for循环的例子
2016/07/19 面试题
班级聚会策划书
2014/01/16 职场文书
田径运动会开幕式及主持词
2014/03/28 职场文书
班主任工作经验交流材料
2014/05/13 职场文书
大专生找工作自荐书
2014/06/10 职场文书
2015年营销工作总结范文
2015/04/23 职场文书
承诺书范本大全
2015/05/04 职场文书
歼十出击观后感
2015/06/11 职场文书
2016十一国庆节慰问信
2015/12/01 职场文书
2016高三毕业赠言寄语
2015/12/04 职场文书
PyTorch 如何检查模型梯度是否可导
2021/06/05 Python
浅谈Python数学建模之数据导入
2021/06/23 Python
win11无法登录onedrive错误代码0x8004def7怎么办 ?
2022/04/05 数码科技