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 相关文章推荐
C#返回当前系统所有可用驱动器符号的方法
Apr 18 Python
利用Python爬取微博数据生成词云图片实例代码
Aug 31 Python
Python面向对象类的继承实例详解
Jun 27 Python
Python中Numpy包的安装与使用方法简明教程
Jul 03 Python
python打开windows应用程序的实例
Jun 28 Python
Python调用百度根据经纬度查询地址的示例代码
Jul 07 Python
python实现对服务器脚本敏感信息的加密解密功能
Aug 13 Python
python安装本地whl的实例步骤
Oct 12 Python
Python图像处理库PIL的ImageGrab模块介绍详解
Feb 26 Python
python 日志 logging模块详细解析
Mar 31 Python
python爬虫使用scrapy注意事项
Nov 23 Python
Python实现批量将文件复制到新的目录中再修改名称
Apr 12 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读取富文本的时p标签会出现红线是怎么回事
2014/05/13 PHP
Laravel 4 初级教程之视图、命名空间、路由
2014/10/30 PHP
在SAE上搭建最新wordpress的方法
2014/12/21 PHP
完美的php分页类
2017/10/24 PHP
Laravel框架实现超简单的分页效果示例
2019/02/08 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
js模拟实现Array的sort方法
2007/12/11 Javascript
javascript js cookie的存储,获取和删除
2007/12/29 Javascript
js过滤数组重复元素的方法
2010/09/05 Javascript
JavaScript 代码压缩工具小结
2012/02/27 Javascript
firefox下jquery iframe刷新页面提示会导致重复之前动作
2012/12/17 Javascript
基于jquery实现的定时显示与隐藏div广告的实现代码
2013/08/22 Javascript
JavaScript支持的最大递归调用次数分析
2014/06/24 Javascript
javascript实现左右控制无缝滚动
2014/12/31 Javascript
javascript+HTML5自定义元素播放焦点图动画
2016/02/21 Javascript
angularjs封装bootstrap时间插件datetimepicker
2016/06/20 Javascript
bootstrap table动态加载数据示例代码
2017/03/25 Javascript
理解Angular的providers给Http添加默认headers
2017/07/04 Javascript
JS前端面试必备——基本排序算法原理与实现方法详解【插入/选择/归并/冒泡/快速排序】
2020/02/24 Javascript
js实现mp3录音通过websocket实时传送+简易波形图效果
2020/06/12 Javascript
如何在vue中使用kindeditor富文本编辑器
2020/12/19 Vue.js
Python中的MongoDB基本操作:连接、查询实例
2015/02/13 Python
Python的Flask框架中Flask-Admin库的简单入门指引
2015/04/07 Python
Python批量重命名同一文件夹下文件的方法
2015/05/25 Python
Python的Django应用程序解决AJAX跨域访问问题的方法
2016/05/31 Python
Windows 7下Python Web环境搭建图文教程
2018/03/20 Python
将Python文件打包成.EXE可执行文件的方法
2019/08/11 Python
Django Admin后台添加数据库视图过程解析
2020/04/01 Python
工商管理本科毕业生求职信范文
2013/10/05 职场文书
感恩节红领巾广播稿
2014/02/11 职场文书
最新结婚典礼主持词
2014/03/14 职场文书
我们的节日春节活动方案
2014/08/22 职场文书
校运动会广播稿(100篇)
2014/09/12 职场文书
晚会开幕词
2015/01/28 职场文书
为什么说餐饮很难做,是因为你不了解这些新规则
2019/08/20 职场文书
JavaScript原始值与包装对象的详细介绍
2021/05/11 Javascript