• 本地同步pypi源两种方案


    1. 使用bandersnatch

    1. 要求pip3
    自行依照系统安装
    2. 安装
    pip3 install bandersnatch
    3. 初始化配置文件
    bandersnatch mirror
    4.修改配置文件
    cat /etc/bandersnatch.conf|grep -v "^;"|grep -v "^$"
    [mirror]
    directory = /home/pypi
    master = https://pypi.python.org
    timeout = 10
    workers = 10
    hash-index = false
    stop-on-error = false
    delete-packages = true
    5.开启同步
    bandersnatch mirror
    

    2. 使用pip download方式

     > 主要是下载所有的包然后自建索引
    

    生成文件名脚本

    import requests
    import bs4
    htext=requests.get("https://pypi.tuna.tsinghua.edu.cn/simple/").text
    bobj=bs4.BeautifulSoup(htext)
    with open("requirement.txt","w+") as f:    
        for a in bobj.find_all('a'):
            # print(a.string)
            f.write(a.string+'
    ')
    

    下载脚本

    [root@ks ~]# vim 01_load_package.sh
    #!/bin/bash
    #pips=http://pypi.doubanio.com/
    file=/root/requirement.txt
    
    # 初始化下载环境(清华镜像源)
    echo " Initialize download environment "
    mkdir /root/.pip/
    cat << END > /.pip/pip11.conf
    [global]
    index-url = https://pypi.tuna.tsinghua.edu.cn/simple
    [install]
    trusted-host = https://pypi.tuna.tsinghua.edu.cn
    END
    
    while read line 
    do
        mkdir /data/local_pip/$line
        pip download $line -d /data/local_pip/$line/
    done < $file
    
    echo "pip is already。"
    

    建立索引脚本

    [root@master ~]# vim 02_make_init_index.sh
    #!/bin/bash  
    
    # set -x  
    
    if [ $# -ne 1 ]; then
        echo "Usage: $0 packages_dir"  
        exit 1
    fi
    
    [ ! -d $1 ] && echo "Error: you should provide a directory." && exit 1
    
    dest=$1
    dest=${dest%/}
    
    if ! echo $dest |grep -q "^/"; then
        echo "Error: please use the absolute path."  
        exit 1
    fi
    
    if ! ls $dest | egrep -q "(gz|zip)$"; then
       echo "Note: nothing need to do."  
       exit 0
    fi
    
    #---------------------------------------------
    TOPDIR=$(cd $(dirname "$0") && pwd)
    tmpdir=`mktemp -d`
    #---------------------------------------------
    
    for i in `ls ${dest}/{*.gz,*.zip} 2>/dev/null`
    do
        rm -rf $tmpdir/*
        cp $i $tmpdir
        cd $tmpdir
        package_arch_name=`ls`
        if echo $package_arch_name | grep -q "gz$"; then
            tar xf $package_arch_name
            gz_suffix=1
        else
            unzip $package_arch_name
            gz_suffix=0
        fi
        rm -rf $package_arch_name
        package_name=`ls`
        cd $package_name
        if ls |grep -q "egg-info"; then
            python setup.py egg_info
            python setup.py build
            cd ..
            if [ $gz_suffix -eq 1 ]; then
                tar czf $package_arch_name $package_name
            else
                zip -r $package_arch_name $package_name
            fi
            rm -rf $i
            cp $package_arch_name $dest/
        fi
        cd $TOPDIR
    done
    
    rm -rf $tmpdir
    

    启用pip服务脚本

    #!/bin/bash
    ## 安装pypiserver
    pip install pypiserver
    ## 设置开机自启动
    cat << EOF >> /etc/rc.local 
    pypi-server /data/localpip &>/var/log/pypi-server.log &
    exit 0
    EOF
    
    ## 加载rc.local,会执行上边的命令
    /usr/bin/bash /etc/rc.local
    

    测试

    [root@ks~]# cat .pip/pip.conf 
    [global]
    trusted-host = 172.16.1.99
    index-url = http://172.16.1.99:8080/simple
    

    引用:
    https://www.cnblogs.com/answerThe/p/11321740.html
    https://www.jianshu.com/p/4bc6a2c59395

  • 相关阅读:
    Pytorch1.0入门实战二:LeNet、AleNet、VGG、GoogLeNet、ResNet模型详解
    Pytorch1.0入门实战一:LeNet神经网络实现 MNIST手写数字识别
    浅谈RNN、LSTM + Kreas实现及应用
    tensorflow 1.12.0 gpu + python3.6.8 + win10 + GTX1060 + cuda9.0 + cudnn7.4 + vs2017)
    高手详解SQL性能优化十条经验
    SQL语句操作符优化
    SQL优化
    34条简单的SQL优化准则
    销售订单无法使用折扣(其他可以正常使用)
    EBS FORM FOLDER 开发,单元格无法使用右键
  • 原文地址:https://www.cnblogs.com/lovesKey/p/14160177.html
Copyright © 2020-2023  润新知