搭建本地的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

搭建本地pip源的更多相关文章

  1. [Pipy]利用pip2pi搭建本地pypi源

    当我们一个团队开发一个项目的时候,须要的Python第三方包基本是固定的.每次搭建新环境的时候总是由于各种内外网,https问题花费大量的时间来安装执行环境. 所以搭建一个本地的,小巧的,仅仅包括须要 ...

  2. 搭建本地yum源并定时同步

    在生产中内网的机器都是不能访问外网,所以需要搭建本地yum源.以中国科学科技大学的yum源为基准.http://mirrors.ustc.edu.cn/ 有些模块会同步失败,可以wget下载至指定位置 ...

  3. 使用光盘搭建本地yum源

    刚装好的系统,想安装一些常用软件和一些包组的时候,就可以使用安装光盘搭建本地yum 第一步:挂载安装光盘 mount /dev/cdrom /mnt 第二步:编辑repo yum源文件 [root@l ...

  4. centos 搭建本地YUM源并使用apache共享YUM源

    搭建本地YUM源 1.挂载镜像 2.搭建本地YUM源 删除多余repo文件保留一个就行 本地YUM源就搭建好了 yum repolist 查看yum源 3.使用apache共享YUM源 YUM服务器配 ...

  5. 【转载】搭建本地yum源:以下是以centos7为例子

    搭建本地yum源:以下是以centos7为例子  1)首先需要安装 createrepo(需要一个可以使用源的机器,可以访问互联网)安装方法可以使用yum安装epel源 1 yum -y instal ...

  6. 搭建本地yum源出现:mount: 在 /dev/sr0 上找不到媒体

    2021-07-27 在练习环境搭建时,因为是离线环境,故先搭建本地yum源,但是出现了一个往常没有的问题:mount: 在 /dev/sr0 上找不到媒体,参考其他博主的文章得到解决方法. 排查问题 ...

  7. 使用光盘无网络搭建本地yum源仓库

    目录 一:使用光盘搭建本地yum源 1,按顺序搭建本地yum源 第一步 : 搭载安装光盘 第二步 : 编辑repo yum源文件 第三步 : 检查 yum makecache 注意事项: 一:使用光盘 ...

  8. 在linux上搭建本地yum源

    准备yum仓库的光盘镜像IOS文件: 设置光驱加载本地磁盘的yum仓库的光盘镜像文件: 在linux的命令行输入setup命令打开设置窗口,选择"System Service": ...

  9. 搭建本地yum源

    本地yum源其实非常容易搭建 首先进入/etc/yum.repos.d/ 将原来的yum源备份后移除,然后新建dvd.repo: 内容如下: [base] name=base baseurl=file ...

随机推荐

  1. Linux性能测试 iostat命令

    Linux系统出现了性能问题,一般我们可以通过top.iostat.free.vmstat等命令 来查看初步定位问题.其中iostat可以给我们提供丰富的IO状态数据.iostat 由 Red Hat ...

  2. 【多线程】python界面阻塞,白屏,not responding解决的简单例子

    x = 0 QWidget. self.thread = Worker() self.xLable = QLabel( self.spinBox = QSpinBox() self.spinBox.s ...

  3. jquery 相对元素

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  4. Django 创建超级管理员失败

    django.db.utils.DataError: (1406, "Data too long for column 'gender' at row 1") 解决方案 在执行mi ...

  5. c#定时调用作业

    1.在Global.asax文件中添加启动线程 protected void Application_Start(object sender, EventArgs e) { Thread ThServ ...

  6. VS生成Cordova for Android应用之Gradle

    原文:VS生成Cordova for Android应用之Gradle 一.Gradle简介 Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具.它使用一种基 ...

  7. 【Linux】PuTTY----------windows访问Linux 快捷方便

    第一步:百度PuTTY,下载好后直接运行,界面如下: 第二步:后输入IP:10.45.XX.XX,直接点击open按钮 第三步:输入用户名: 第四步:密码~ 现在,您就可以对你访问的linux设备进行 ...

  8. 指定Qt程序运行的style,比如fusion(以前没见过QStyleFactory)

    转载请注明文章:指定Qt程序运行的style,比如fusion 出处:多客博图 代码很简单,如下: #include <QtWidgets/QApplication>   #include ...

  9. Android零基础入门第19节:Button使用详解

    原文:Android零基础入门第19节:Button使用详解 Button(按钮)是Android开发中使用非常频繁的组件,主要是在UI界面上生成一个按钮,该按钮可以供用户单击,当用户单击按钮时,按钮 ...

  10. nodejs redis遇到的一个问题解决

    v ar redis = require("redis"), client = redis.createClient({host:'tc-arch-osp33.tc', port: ...