私有pip源搭建

2020-03-22  本文已影响0人  桩i

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

上一篇下一篇

猜你喜欢

热点阅读