Wheel包制作

# pip install wheel
# mkdir ~/wheels
# cd < Project >
# pip wheel --wheel-dir=~/wheels .
# cd ~/
# tar acf wheels.tar.gz wheels ### 使用本地包进行安装
# tar axf wheels.tar.gz wheels
# cd wheels
# pip install --use-wheel --no-index --find-links=./ < Package >

Ubuntu

参考文档

  • 下载pip2pi
# apt install python-pip
# pip install --upgrade pip
# pip install pip2pi
  • 搭建apache2服务
# apt install apache2
# mkdir -p /var/www/packages
# sed -i -e "s/ServerAdmin.*/ServerAdmin pypi.com/g" /etc/apache2/sites-available/000-default.conf
# sed -i -e "s/DocumentRoot.*/DocumentRoot \/var\/www\/packages/g" /etc/apache2/sites-available/000-default.conf
# a2ensite 000-default
# systemctl restart apache2
  • 批量下载软件包
### 生成tar.gz或whl包
# cd Downloads/
# wget http://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/newton -O requirements.txt
### -r参数用来表示要安装的软件包,-c参数用来限制要安装的软件包的版本
# pip2tgz /var/www/packages -r requirements.txt ### 只生成whl包
# pip wheel --timeout 120 --wheel-dir /var/www/packages --find-links /var/www/packages --build /tmp/openstack-builder --log /var/log/repo/repo_builder.log --requirement requirements.txt
  • 建立索引
# dir2pi /var/www/packages
  • 单独下载软件包并更新索引
# pip2tgz /var/www/packages zake===0.2.2
# dir2pi /var/www/packages
  • 测试pip源
### 访问http://192.168.30.142/simple/index.html
# curl -I http://192.168.30.142/simple/zake/zake-0.2.2-py2.py3-none-any.whl | head -n1
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 19139 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
HTTP/1.1 200 OK

问题处理

  • MySQL-python安装报错
  Saved /var/www/pypi/MySQL-python-1.2.5.zip
Complete output from command python setup.py egg_info:
sh: 1: mysql_config: not found
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-5pxlt9/MySQL-python/setup.py", line 17, in <module>
metadata, options = get_config()
File "/tmp/pip-build-5pxlt9/MySQL-python/setup_posix.py", line 43, in get_config
libs = mysql_config("libs_r")
File "/tmp/pip-build-5pxlt9/MySQL-python/setup_posix.py", line 25, in mysql_config
raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found

解决办法

# apt install libmysqld-dev
  • Psycopg2安装报错
  Saved /var/www/pypi/psycopg2-2.6.2.tar.gz
Complete output from command python setup.py egg_info:
running egg_info
creating pip-egg-info/psycopg2.egg-info
writing pip-egg-info/psycopg2.egg-info/PKG-INFO
writing top-level names to pip-egg-info/psycopg2.egg-info/top_level.txt
writing dependency_links to pip-egg-info/psycopg2.egg-info/dependency_links.txt
writing manifest file 'pip-egg-info/psycopg2.egg-info/SOURCES.txt'
warning: manifest_maker: standard file '-c' not found Error: pg_config executable not found.

解决办法

# apt install libpq-dev
  • Xattr安装报错
Collecting xattr===0.8.0 (from -r requirements.txt (line 397))
Downloading xattr-0.8.0.tar.gz
Saved /var/www/pypi/xattr-0.8.0.tar.gz
Complete output from command python setup.py egg_info:
c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory

解决办法

# apt install libffi-dev

CentOS

  • 下载pip2pi
# yum install python-pip
# pip install --upgrade pip
# pip install pip2pi
  • 搭建apache服务
# apt install httpd
# mkdir -p /var/www/packages
# vim /etc/httpd/conf.d/vhost.conf
Listen 81
<VirtualHost *:81>
DocumentRoot "/var/www/packages/simple"
ServerName pypi.com
Errorlog /var/log/httpd/pypi.error.log
CustomLog /var/log/httpd/pypi.access.log common
</VirtualHost>
# systemctl restart httpd
  • 批量下载软件包
# wget http://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/newton -O requirements.txt
# yum install mysql-devel libffi-devel libpqxx-devel
# pip wheel --timeout 120 --wheel-dir /var/www/packages --find-links /var/www/packages --build /tmp/openstack-builder --log /var/log/repo/repo_builder.log --requirement requirements.txt
  • 建立索引
# dir2pi /var/www/packages
  • 测试pip源
### 访问http://192.168.30.142:81

PIP本地源搭建的更多相关文章

  1. CentOS6.5 本地源搭建Ceph

    拓扑图 OS: CentOS X86_64,desktop -免密码登录 -修改/etc/sysconfig/network   --hostname -修改/etc/hosts/ -关闭iptabl ...

  2. centos本地源搭建——iso

    说明:centos源搭建比另一篇ubuntu源搭建简单些,操作也简单.思路是用iso制作一个本地源,后期需要新软件可以自己添加. 1.进入iso挂载路径,这里是虚拟机,在vm上挂载,在linux下直接 ...

  3. ubuntu 本地源搭建

    1.软件包放在 deps 目录下: dpkg-scanpackages deps /dev/null |gzip > deps/Packages.gz -r 2.更新 sources.list ...

  4. 基于VSFTP的本地YUM源及光盘YUM源搭建

    基于VSFTP的本地YUM源及光盘YUM源搭建  一.yum环境的本地源搭建(基于VSFTP):  1)安装vsftp;     *********************************** ...

  5. ubuntu下的apt-get内网本地源的搭建

    APT本地源的搭建(可用于局域网apt-get源搭建或者本地源) 本文档介绍使用apt-mirror软件搭建apt本地源 需求:内网开发环境由于其特定原因不能上外网,所以需要本地环境下的内网源来方便开 ...

  6. Linux 本地yum源搭建和网络yum源搭建

    一.本地yum源搭建 首先挂载上光盘 [root@www /]# mount /dev/cdrom /media/cdrom/ 系统默认已经安装了可使用yum的软件包,所以可以直接配置: [root@ ...

  7. 基于本地iso 搭建的本地yum源 安装部署openldap

    1,yum openldap-servers,openldap-clients 基于iso-cd1搭建的本地yum源(具体搭建参看ruige的repo本地快速搭建,在右边 找找看中输入repo key ...

  8. 搭建yum本地源_阿里云CentOS服务器初始化设置

    CentOS服务器初始化设置其实不分阿里云或其它服务器了,操作配置过程与步骤也差不多一.挂载硬盘 1.磁盘分区 fdisk -l #查看设备,一般可以看到设备名为/dev/xvdb fdisk /de ...

  9. CentOS7利用yum缓存搭建本地源

    CentOS7利用yum缓存搭建本地源 环境说明 [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 ( ...

随机推荐

  1. UOJ136 开学前的作文

    描述 红包是一个萌萌的男孩子. 红包由于 NOI 惨挂,直到前不久依然无心写作业.如今快开学了,他决定好好完成作业. 对于可以交电子稿的作文,红包有特殊的完成技巧,大致流程是依次选中一段内容→按下 C ...

  2. php之定义大字符串数据时使用定界符来标识

    在定义大字符串数据时,通常使用定界符来标识,这种方式能保留文本中的格式,如文本中的换行.定界符使用格式如下. <<<identifier 格式化文本 identifier 其中,符号 ...

  3. jsp学习(3)

    1.model模式 2.model1.x分层模式 3.mvc模式(model2) model2的具体体现就是mvc. dao:就是data access object数据访问对象,即专门对数据库进行操 ...

  4. 分享知识-快乐自己:反射机制Demo解析

    Java-Reflect专题 基本反射简介: 1):JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象能够调用它的任意方法和属性;这种动态获取信息以及动 ...

  5. hdu 2955 Robberies(01背包)

    Robberies Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  6. 山东省第七届ACM省赛

    ID Title Hint A Julyed 无 B Fibonacci 打表 C Proxy 最短路径 D Swiss-system tournament 归并排序 E The Binding of ...

  7. Java_异常_02_java.lang.NoClassDefFoundError: org/apache/log4j/Level

    总结:解析Json时,除了要导入json-lib-2.2-jdk15.jar外,还要导入: commons-beanutils.jar, commons-httpclient.jar, commons ...

  8. tomcat使用JDNI配置信息和使用信息。用于JDBC连接池

    JNDI: JNDI(java Naming and Directory Interface),java命名和目录接口.JNDI的作用就是:在服务器上配置资源,然后通过统一的方式来获取配置的资源 在t ...

  9. 08 - Django应用第五步

    1 自动测试 自动测试与测试的不同在于, 自动测试的测试工作是交给系统完成的 测试也有分类和级别, 有的用于一些细微的细节, 有的是针对整个软件整体 测试会保证一些看起来正常运行的功能在实际的多种情况 ...

  10. Struts2 - 配置文件中result 节点详解

    每个 action 方法都将返回一个 String 类型的值, Struts 将根据这个值来决定响应什么结果. 每个 action 声明都必须包含有数量足够多的 result 元素, 每个 resul ...