当我们一个团队开发一个项目的时候,须要的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
60
index-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 simplejson
Downloading/unpacking
simplejson
  Downloading
simplejson-
3.5.3.tar.gz
(70kB): 70kB downloaded
Saved
e:\pipy\simplejson-
3.5.3.tar.gz
Running
setup.py egg_info 
for package simplejson
 
Successfully
downloaded simplejson
Cleaning
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.5
MySQL-python==1.2.3
amqp==1.0.12
anyjson==0.3.3
billiard==2.7.3.31
celery==3.0.19
django-celery==3.0.17
django-kronos==0.3
httplib2==0.8
kombu==2.5.12
python-dateutil==2.1
pytz==2013b
reportlab==2.7
six==1.3.0
wsgiref==0.1.2
xlwt==0.7.5

运行

1
pip2tgz
E:\pipy -r requirement.txt

把全部的包下载下来,这里会自己主动安装(有点奇怪),linux下运行正常下载,但总是由于某些编译问题或者包版本号过期的请问发生异常无法往下进行。这个比較烦人

第三步:创建更新索引(整个索引就是依据文件夹下的包生成一个网页文件,兴许搭建web服务就能够直接用pip安装了)

对整个文件夹建立索引

1
E:\dev1>dir2pi
E:\pipy

更新索引,对单个软件或这是list

1
2
pip2acmeco
name
pip2acmeco
-r requirements.txt

能够使用apache或者nginx来搭建本地的web服务,然后其它机器更新pip.ini文件就能够使用自己搭建的源了。

详细能够參考:搭建本地pypi源方法   配置pipy源方法

[Pipy]利用pip2pi搭建本地pypi源的更多相关文章

  1. 基于python3环境使用bandersnatch搭建本地pypi源

     pip3 install bandersnatch # https://pypi.org/project/bandersnatch/#files 查询最新版本 wget https://files. ...

  2. Windows 环境下基于 nginx 的本地 PyPI 源

    Windows 环境下基于 nginx 的本地 PyPI 源的搭建: 1.登录 nginx 官网,下载安装包

  3. 搭建本地pip源

    搭建本地的pip源 开发环境部署机器的时候, 每次从网上下载pip包会很慢, 将需要的包和相关依赖下载到本地, 搭建一个本地源服务器. 基本都是安装多个包, 推荐使用文件的方式, 文件内容格式, 可以 ...

  4. 搭建本地yum源并定时同步

    在生产中内网的机器都是不能访问外网,所以需要搭建本地yum源.以中国科学科技大学的yum源为基准.http://mirrors.ustc.edu.cn/ 有些模块会同步失败,可以wget下载至指定位置 ...

  5. 使用光盘搭建本地yum源

    刚装好的系统,想安装一些常用软件和一些包组的时候,就可以使用安装光盘搭建本地yum 第一步:挂载安装光盘 mount /dev/cdrom /mnt 第二步:编辑repo yum源文件 [root@l ...

  6. 利用Docker搭建本地https环境的完整步骤

    利用Docker搭建本地https环境的完整步骤 这篇文章主要给大家介绍了关于如何利用Docker搭建本地https环境的完整步骤,文中通过示例代码将实现的步骤介绍的非常详细,对大家的学习或者工作具有 ...

  7. centos 搭建本地YUM源并使用apache共享YUM源

    搭建本地YUM源 1.挂载镜像 2.搭建本地YUM源 删除多余repo文件保留一个就行 本地YUM源就搭建好了 yum repolist 查看yum源 3.使用apache共享YUM源 YUM服务器配 ...

  8. 【转载】搭建本地yum源:以下是以centos7为例子

    搭建本地yum源:以下是以centos7为例子  1)首先需要安装 createrepo(需要一个可以使用源的机器,可以访问互联网)安装方法可以使用yum安装epel源 1 yum -y instal ...

  9. 搭建本地yum源出现:mount: 在 /dev/sr0 上找不到媒体

    2021-07-27 在练习环境搭建时,因为是离线环境,故先搭建本地yum源,但是出现了一个往常没有的问题:mount: 在 /dev/sr0 上找不到媒体,参考其他博主的文章得到解决方法. 排查问题 ...

随机推荐

  1. 函数对象的call()、apply() 方法区别

    函数对象的call().apply() 方法 函数作为对象提供了call(),apply() 方法,他们也可以用来调用函数,这两个方法都接受一个对象作为参数,用来指定本次调用时函数中this的指向: ...

  2. 扩展中国剩余定理 (exCRT) 的证明与练习

    原文链接https://www.cnblogs.com/zhouzhendong/p/exCRT.html 扩展中国剩余定理 (exCRT) 的证明与练习 问题模型 给定同余方程组 $$\begin{ ...

  3. 003 使用SpringMVC开发restful API--查询用户

    一:介绍说明 1.介绍 2.restful api的成熟度 二:编写Restful API的测试用例 1.引入spring的测试框架 在effective pom中查找 2.新建测试包,测试类 3.测 ...

  4. 2017-2018-1 20179202《Linux内核原理与分析》第三周作业

    一.mykernel 实验 : 1.深度理解函数调用堆栈: 上周已经一步步地分析过含有变量的函数调用时堆栈的变化,现在对堆栈框架进行一些补充,以以下程序为例: int main() { ... g(x ...

  5. HDU 5536 Chip Factory (暴力+01字典树)

    <题目链接> 题目大意: 给定一个数字序列,让你从中找出三个不同的数,从而求出:$\max_{i,j,k} (s_i+s_j) \oplus s_k$的值. 解题分析:先建好01字典树,然 ...

  6. POJ 3189 Steady Cow Assignment 【二分】+【多重匹配】

    <题目链接> 题目大意: 有n头牛,m个牛棚,每个牛棚都有一定的容量(就是最多能装多少只牛),然后每只牛对每个牛棚的喜好度不同(就是所有牛圈在每个牛心中都有一个排名),然后要求所有的牛都进 ...

  7. Windows下MySQL绿色版安装配置与使用

    Mysql-5.7.11-winx64操作步骤: 一.安装MySQL数据库 1.下载. 下载地址: http://downloads.mysql.com/archives/get/file/mysql ...

  8. shell编程第一天

    shell编程基础 脚本:简单来说就是一条条的文字命令(一些指令的堆积)Shell属于内置的脚本 1.程序开发效率非常高,依赖于功能强大的命令可以迅速地完成开发任务(批处理) 2.语法简单,代码写起来 ...

  9. [python] 查询mysql返回datetime类型数据的处理

    Python 查询Mysql,如果是datetime类型,在json序列化的时候会出现问题. 在网上查了一下,解决方案基本都是遍历dict数据,如果是datetime则转化为字符串. from dat ...

  10. Codeforces.1110F.Nearest Leaf(线段树)

    题目链接 \(dls\)讲过这道题,所以这不是线段树裸题吗,这场没打气气气气气=-= 现在是写着玩=v= \(Description\) 给定一棵\(n\)个点的树.\(q\)次询问,每次询问给定\( ...