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 相关文章推荐
Windows系统配置python脚本开机启动的3种方法分享
Mar 10 Python
Python实现简单字典树的方法
Apr 29 Python
python 计算文件的md5值实例
Jan 13 Python
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
Sep 22 Python
python使用正则表达式替换匹配成功的组
Nov 17 Python
Python+OpenCV人脸检测原理及示例详解
Oct 19 Python
用Python一键搭建Http服务器的方法
Jun 01 Python
详解如何用django实现redirect的几种方法总结
Nov 22 Python
PyQt4编程之让状态栏显示信息的方法
Jun 18 Python
python随机生成大小写字母数字混合密码(仅20行代码)
Feb 01 Python
django 实现简单的插入视频
Apr 07 Python
Django QuerySet查询集原理及代码实例
Jun 13 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中使用curl入门教程
2015/07/02 PHP
Yii2中设置与获取别名的函数(setAlias和getAlias)用法分析
2016/07/25 PHP
PHP串行化与反串行化实例分析
2016/12/27 PHP
php模拟post提交请求调用接口示例解析
2020/08/07 PHP
ie和firefox中img对象区别的困惑
2006/12/27 Javascript
使用jQuery.Validate进行客户端验证(初级篇) 不使用微软验证控件的理由
2010/06/28 Javascript
JS获取鼠标坐标的实例方法
2013/07/18 Javascript
JS实现很酷的水波文字特效实例
2015/02/26 Javascript
prototype.js常用函数详解
2016/06/18 Javascript
浅谈JavaScript的自动垃圾收集机制
2016/12/15 Javascript
详谈js遍历集合(Array,Map,Set)
2017/04/06 Javascript
基于百度地图api清除指定覆盖物(Overlay)的方法
2018/01/26 Javascript
javascript获取元素的计算样式
2019/05/24 Javascript
JavaScript实现多文件下载方法解析
2020/08/07 Javascript
Python 分析Nginx访问日志并保存到MySQL数据库实例
2014/03/13 Python
Python ftp上传文件
2016/02/13 Python
Django1.9 加载通过ImageField上传的图片方法
2018/05/25 Python
python得到单词模式的示例
2018/10/15 Python
Python小程序 控制鼠标循环点击代码实例
2019/10/08 Python
使用CSS3的font-face字体嵌入样式的方法讲解
2016/05/13 HTML / CSS
HTML5 Canvas像素处理使用接口介绍
2012/12/02 HTML / CSS
伦敦高达60%折扣的钻石珠宝商:Purely Diamonds
2018/06/24 全球购物
官方授权图形T恤和服装:Fifth Sun
2019/06/12 全球购物
LN-CC中国:高端男装和女装的奢侈时尚目的地
2019/09/14 全球购物
工程造价与财务管理专业应届生求职信
2013/10/06 职场文书
机电工程学生自荐信范文
2013/12/07 职场文书
电气自动化专业职业规划范文
2014/02/16 职场文书
元旦红领巾广播稿
2014/02/19 职场文书
计算机维护专业推荐信
2014/02/27 职场文书
网络编辑职责
2014/03/01 职场文书
领导班子自我剖析材料
2014/08/16 职场文书
财产分割协议书范本
2014/11/03 职场文书
亲戚关系证明
2015/06/24 职场文书
考生诚信考试承诺书(2016版)
2016/03/25 职场文书
postgres之jsonb属性的使用操作
2021/06/23 PostgreSQL
Nginx文件已经存在全局反向代理问题排查记录
2022/07/15 Servers