搭建本地的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 xxx为path文件夹的用户和组名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/simple报403错误, 查看ps -ef | grep nginx显示的worker process是否是和pypi文件夹的权限一致, 如果不一致, 修改nginx.conf, 修改user xxx为, user name group, name和group是pypi的文件夹用户和组.
使用搭建的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