美文网首页
私有pip源搭建

私有pip源搭建

作者: 桩i | 来源:发表于2020-03-22 18:12 被阅读0次

    pip安装模块时出现好多依赖,如果没有外网,需要自己一个个下载后上传到服务器,然后还得手动安装,有依赖,还得先安装依赖包,就像使用rpm装包一样,所以最好搭建一个自己的pip源。

    1.安装pip
    操作系统默认没有pip,Centos安装需要有epel源,没有就去阿里的镜像站下载或者搜索python2-pip,在epel源里。
    下载后rpm -ivh安装
    2.安装pip2pi

    ]# pip install pip2pi
    

    3.编写requirements
    将所有的需要从外网pip server下载的版本要求写入到requirements.txt

    ]# vim requirements.txt
    ansible>=2.5.0,!=2.7.0
    jinja2>=2.9.6
    netaddr
    pbr>=1.6
    hvac
    

    4.下载并建立索引
    下载到指定目录,并生成index索引

    ]# pip download -r requirements.txt -d /opt/repos/pip-packages/
    ]# dir2pi /opt/repos/pip-packages/
    

    5.搭建http Server
    本地搭建http server,将目录指到/opt/repos

    ]# yum install nginx
    ]# vim /etc/nginx/nginx.conf  #修改Server段配置
        server {
            listen       8000 default_server;
            listen       [::]:8000 default_server;
            server_name  _;
            root         /opt/repos;
    
            # Load configuration files for the default server block.
            include /etc/nginx/default.d/*.conf;
    
            location / {
                 autoindex on;
                 autoindex_exact_size off;
                 autoindex_localtime on;
            }
    
            error_page 404 /404.html;
                location = /40x.html {
            }
    
            error_page 500 502 503 504 /50x.html;
                location = /50x.html {
            }
        }
    
    

    自定义参数如下:
    listen:监听的端口,ipv4和ipv6的,ipv6不写也行
    root:网站根目录路径

    location段
    autoindex on; 显示目录(nginx默认不允许列出整个目录)
    autoindex_exact_size off; 关闭文件大小的精确计数,使用K,M,G,为单位(这样方便阅读)
    autoindex_localtime on; 使用服务器时间,不开启的话就使用国际时间(比北京时间慢8小时)

    启动nginx

    6.测试
    找一个机器,设置pip的配置文件,使用我们刚搭建的pip源

    ]# vim /root/.pip/pip.conf
    [global]
    trusted-host = 192.168.1.10
    index-url = http://192.168.1.10:8000/pip-packages/simple
    

    再次核对一下目录
    1.pip的包是放在/opt/repos/pip-packages
    2.建立pip索引指向的目录是也是/opt/repos/pip-packages,所以会在目录下生成一个simple目录,里面有index.html文件
    3.nginx配置文件中的root指向/opt/repos,所以你访问8000端口的时候会显示pip-packages这个目录
    4.pip的配置文件里的index-url指向的是index.html文件的位置,所以应该是http://192.168.1.10:8000/pip-packages/simple

    目录按照这种方式就行,不是必须放在/opt下,名字也不必就要叫pip-packages

    相关文章

      网友评论

          本文标题:私有pip源搭建

          本文链接:https://www.haomeiwen.com/subject/hpfksctx.html