在内网环境下部署python开发环境,安装python第三方库比较麻烦,特别是安装需要多个依赖的库。一种比较好的解决方案是搭建一个本地的私有pip镜像源,有多个方案可以选择,比如pypiserver、pip2pi等,本文介绍使用python的pip2pi库,搭配nginx来搭建pip镜像源的方法。

  1. 创建缓存目录:

    mkdir /pip_local_source
    cd /pip_local_source/
  2. 使用命令将需要的软件包下载到目录中

    pip download -d . pywinrm
  3. 安装pip2pi

    使用pip命令安装

    pip3 install pip2pi

    离线环境可先到有网的环境下载whl包 : https://pypi.org/project/pip2pi/#files

    然后离线安装 :

    $ pip3 install pip2pi-0.8.2-py2.py3-none-any.whl
  4. 创建索引信息

    将下载的python安装包放到/pip_local_source/目录下,然后执行如下命令创建索引:

    dir2pi /pip_local_source/

    执行成功后 , /pip_local_source/目录下会创建一个simple目录,对库文件进行了索引:

    ├── simple
    │   ├── aerich
    │   │   ├── aerich-0.7.2-py3-none-any.whl -> ../../aerich-0.7.2-py3-none-any.whl
    │   │   └── index.html
    │   ├── aiofiles
    │   │   ├── aiofiles-0.5.0-py3-none-any.whl -> ../../aiofiles-0.5.0-py3-none-any.whl
    │   │   └── index.html
    ...
  1. nginx安装配置

    如果只是临时使用,也可以直接使用Python内置模块http.server来创建一个简单的web服务,在包文件目录(/pip_local_source/)执行如下命令即可:

    python3 -m http.server 8086

    可以通过nginx实现这个功能。 nginx配置如下:

    $ vim /usr/local/nginx/nginx.conf
    ​
    1、设置
    user root;
    ​
    2、配置pip源端口号以及路径
        server {
            listen      8086;
            server_name  192.168.20.9:8086;
            location / {
                 root /home/pythonlibs;
                autoindex on;
                charset utf-8;
           }
         }

  2. 启动成功后可在浏览器访问地址:http://192.168.20.9:8086/simple/

    页面列出了所有索引成功的python库,说明pypi本地源已经搭建成功。

  3. 本地源部署完成后,可以使用pip命令从搭建的本地源下载安装python库:

    pip3 install xlwt -i http://192.168.20.9:8086/simple --trusted-host 192.168.20.9


参考链接

使用pip2pi和nginx搭建私有pip镜像源方法

Python : 搭建本地PIP源


熊熊