搭建本地的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. Ubuntu安装配置Qt 4.86环境

    安装 QT4.8.6库+QT Creator 2.4.1 下载地址公布 QT4.8.6库  http://mirrors.hustunique.com/qt/official_releases/qt/ ...

  2. surfaceview组件的surfaceCreated()不被调用的解决方案

    原文:surfaceview组件的surfaceCreated()不被调用的解决方案 有时候我们有需要在native层做在surfaceview的上下文中做渲染,这个时候只是提供了一个单独什么都不做的 ...

  3. Genymotion常见问题解决方案

    最近更新了Genymotion之后, 出了一大堆问题, 花了差不多两天的时间, 把一系列问题基本遇到遍了, 终于修成正果, 分享出来希望可以让大家少走一点弯路. 无法启动Genymotion;关键字: ...

  4. 【std::regex】C++文件路径正则表达式

    今天代码中遇到使用正则表达式匹配一个文件路径的问题,需要验证传入的文件路径是否合法,学习了简单的正则表达式的写法后,简单写了如下代码,在网上找了一些在线测试正则表达式的网站,测试可以通过. std:: ...

  5. 投资人的能量往往大多远远不仅于此,他能站在不同的角度和高度看问题(要早点拿投资,要舍得让出股份)——最好不要让 Leader 一边做技术、一边做管理,人的能力是有限的,精力也是有限的

      摘要:在创业三年时间里作为联合创始人,虽然拿着大家均等的股份,我始终是没有什么话语权的,但是,这也给了我从旁观者的角度看清整个局面的机会.创业公司的成败绝大程度取决于技术大牛和公司 Leader, ...

  6. laravel在wamp中输入地址后总是无法访问

    在wamp中的apache中conf的httpd.conf #LoadModule rewrite_module modules/mod_rewrite.so 改为 LoadModule rewrit ...

  7. murmurhash2算法 和 DJB Hash算法是目前最流行的hash算法

    murmurhash2算法 和 DJB Hash算法是目前最流行的hash算法 1.DJB HASH算法 1 2 3 4 5 6 7 8 9 10 11 /* the famous DJB Hash ...

  8. Redis实现关注关系

    最近使用关系型数据库实现了用户之间的关注,于是思考换一种思路,使用Redis实现用户之间的关注关系. 综合考虑了一下Redis的几种数据结构后,觉得可以用集合实现一下. 假设"我" ...

  9. 什么是DirectShow?

    DirectShow是微软出的用于流媒体开发的开发包.开发语言是C++,没提供C#接口的调用方式.

  10. Android零基础入门第53节:拖动条SeekBar和星级评分条RatingBar

    原文:Android零基础入门第53节:拖动条SeekBar和星级评分条RatingBar 前面两期都在学习ProgressBar的使用,关于自定义ProgressBar的内容后期会继续学习的,本期先 ...