• 制作pip源(按需,非镜像方式)


    全部下载所有的镜像文件有时候确实是比较耗时的,那么也可以仅同步所需的Pypi包。
    下面我们用一个叫做 pip2pi 的工具仅同步所需的Pypi包

    安装pip2pi工具

    $ pip install pip2pi
    

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

    创建存放软件包的仓库

    $ sudo mkdir /var/spool/pypi-mirror
    

    下载软件包

    单个下载,比如:

    $ pip2tgz /var/spool/pypi-mirror/ routes==1.12.3
    

    批量下载,比如:

    $ pip2tgz /var/spool/pypi-mirror/ -r requirements.txt
    

    requirements.txt文件是一个待下载软件包列表,比如openstack需求的包列表。

    建立索引:

    $ dir2pi /var/spool/pypi-mirror/
    

    更新版本

    若软件需求有更新,可以如下更新索引:

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

    发布

    最后,将库地址配置给http服务就行了,方法同apt的类似,也可以采用自己的服务软件,比如nginx配置,这里介绍nginx的配置方法。
    给Nginx服务器添加虚拟主机配置:

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

    当然也可以像apt源的部署方法一样,做一个软链接给apache2,或者配置apache

    $ sudo ln -s /var/spool/pypi-mirror /var/www/html/pypi

    完。

  • 相关阅读:
    基于PowerShell的Lync Server管理 使用C#
    现在不使用ZeroClipboard我们也能实现复制功能(转)
    手机购物车添加动画
    jq获取元素到底部的距离
    LocalStorage 本地存储
    replace()替换文字扑获组做法
    js原生removeclass方法
    现代浏览器原生js获取id号方法
    手机版浏览器禁止滚动条与释放实例
    wamp设置实现本机IP或者局域网访问 (转)
  • 原文地址:https://www.cnblogs.com/sixloop/p/make-pip-repo-on-demand.html
Copyright © 2020-2023  润新知