zoukankan      html  css  js  c++  java
  • 搭建本地pip源

    搭建本地的pip源

    开发环境部署机器的时候, 每次从网上下载pip包会很慢, 将需要的包和相关依赖下载到本地, 搭建一个本地源服务器。

    基本都是安装多个包, 推荐使用文件的方式,
    文件内容格式, 可以指定版本package==1.0.0, 也可以不指定package, 每个包名在一行:

    package==1.0.0
    package==1.0.0
    package==1.0.0
    

    安装pip2pi工具

    安装pip install pip2pi, pip2pi中包含很多相关的命令。

    在指定目录下创建存放源文件的目录

    mkdir ~/pypi

    下载包

    下载单独包pip2tgz path package==1.0, 可以指定版本, 默认是最新的包

    批量下载pip2tgz path -r requirements.txt

    建立索引

    dir2pi path, 会创建simple文件夹

    更新索引

    多个包: pip2acmeco -r requirements.txt

    单个包: pip2acmeco package==1.0.0

    搭建服务器

    使用nginx, sudo yum install nginx, 修改配置文件sudo vim /etc/nginx/nginx.conf

    server {
        listen 80;
        server_name ip或域名;
        root path;
        location /{
            autoindex on;
            autoindex_exact_size off; #显示文件的大小
            autoindex_localtime on; #显示文件时间
            #limit_rate_after 5m; #5分钟后下载速度限制为200k
            limit_rate 200k;
        }
        access_log /var/log/nginx/pypi.log main;
    }
    

    修改user xxxpath文件夹的用户和组名user name group.

    使用sudo nginx -t查看配置文件是否正确

    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    

    重启nginx服务器sudo systemctl restart nginx

    访问pypi/simple403错误, 查看ps -ef | grep nginx显示的worker process是否是和pypi文件夹的权限一致, 如果不一致, 修改nginx.conf, 修改user xxx为, user name group, namegrouppypi的文件夹用户和组.

    使用搭建的pypi源

    全局配置pip源

    编辑~/.pip/pip.conf文件:

    [global]
    index-url=http://ip:port/pypi/simple
    

    虚拟环境pip源

    编辑虚拟环境中venv/pip.conf:

    [global]
    index-url=http://ip:port/simple
    [install]
    trusted-host=ip
    

    示例

    sudo yum install -y epel-release
    sudo yum install -y mysql-devel
    sudo yum install -y nginx
    
    sudo pip install --upgrade pip
    sudo pip2tgz /home/pypi/ -r requirements.txt
    sudo dir2pi /home/pypi
    sudo pip2acmeco -r requirements.txt
    
  • 相关阅读:
    基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。
    Configuration system failed to initialize
    WebException 请求被中止: 操作超时
    The underlying connection was closed: The connection was closed unexpectedly.
    无法将数据写入传输连接: 在一个非套接字上尝试了一个操作
    C# .NET UDP 形式调用 graylog,gelf
    python3存入redis是bytes
    python commands模块在python3.x被subprocess取代
    subprocess
    nginx重新编译添加ssl模块
  • 原文地址:https://www.cnblogs.com/zzhaolei/p/11063255.html
Copyright © 2011-2022 走看看