在公司内网搭建 pip 镜像站

简介: 在公司内网搭建 pip 镜像站

大家好,我是老胡,五一快乐~


昨天推了一篇文章,介绍了Python中最有用的第三方库。


但是很多公司的生产环境不能联网,如果需要安装Python搞点事情,各种包及其依赖安装起来就麻烦极了。本文咱们就折腾一番,将本地环境搬家到内网,并在内网搭建一套 pip 镜像站。


下载包


批量导出当前开发环境的包信息


pip freeze > requirements.txt


下载requirements内的包及其依赖到【某文件夹】


pip download -r requirements.txt


image.png

                                         .whl文件


只有本地对应版本的Python才能安装这些包,如果想要要搭建pip镜像站并兼容更多版本的Python怎么办呢?


里面有常用的532个包,每一个对应的有各种版本的whl文件,一共6000+


这就要了,我写了一个,代码就不贴了,已上传github

640.png


建立索引


本地安装pip2pi


pip install pip2pi


命令行切换到下载的 .whl文件夹,建立索引(自动生成了index.html)


dir2pi -S 【某文件夹】


然后文件夹内就出现了一个simple文件夹,这里的内容就和阿里、清华、豆瓣的源差别没那么大了。


nginx发布镜像源


准备好Linux or Windows 的 Nginx 安装程序


将【某文件夹】和Nginx 安装包一起copy到内网的服务器

Nginx 安装很简单,Terminal里执行nginx不报错就算大功告成。

找到nginx.conf文件,仅需修改如下几个内容,其他的都不需要动:


server{
listen 80;
server_name 你的IP地址
root 【某文件夹】的路径
}


重启nginx服务器


# Linux
sudo systemctl restart nginx
# Windows
nginx -s reload


浏览器打开 http://你的IP/simple


640.png


现在如果内网的服务器墙是通的,其他机器应该也能访问这个网址,pip 镜像站就搭建好了,so easy。


如果内网内的主机想要pip安装所需的包,还需要配置一下pip

在 Linux & macOS 中,配置需要写到 ~/.pip/pip.conf 文件中;Windows 中,配置文件位置为 %HOMEPATH%\pip\pip.ini,%HOMEPATH% 即你的用户文件夹,一般为“\Users<你的用户名>”,具体值可以使用 echo %HOMEPATH% 命令查看。


通常你需要手动创建对应的目录和文件,然后写入下面的内容:


[global]
index-url = http://你的IP/simple
[install]
trusted-host = 你的IP


内网的主机安装Python的包及其依赖


pip install [所需的包名]
相关文章
|
Docker 容器
解决使用Dockerfile来build镜像时pip install遇到的BUG
解决使用Dockerfile来build镜像时pip install遇到的BUG
1068 1
解决使用Dockerfile来build镜像时pip install遇到的BUG
|
开发工具 git Ruby
设置 git/npm/bower/pip/gem镜像或代理
这是一篇我很久以前发表在博客园的文章,因为最近更新了机子的环境,又要重新设置一次环境,现在就体验到经常写文章的好处了,毕竟人老了好多东西记不住,还是得靠博客。
2767 0
|
Python
Windows7 设置pip 镜像 Pip Warning:–trusted-host 问题解决方案
最近写了一篇关于“微软开源分布式高性能GB框架LightGBM安装使用”的文章,有小伙伴安装Python环境遇到了问题。我个人也尝试安装了一下,确实遇到了很多问题。这不又遇到;设置pip 镜像 Pip Warning:–trusted-host 问题。
3018 0
|
Windows Python
Windows下pip设置国内源阿里云镜像加速
Windows下pip设置国内源阿里云镜像加速
4213 0
Windows下pip设置国内源阿里云镜像加速
|
Linux 数据安全/隐私保护 Windows
更换(Pypi)pip源到国内镜像
pip国内的一些镜像 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.
234749 2
|
Java Linux Shell
centos7内网离线安装face_recognition、python、pip、CMake、dlib,离线升级gcc/切换gcc,文末有face_recognition的docker版本
公司项目需要人脸识别,本来app自带人脸识别,结果api支持的设备试了一圈就一个同事的华为Mate40Pro可以,所以使用无望。接着找了一下免费的java离线人脸识别sdk,发现虹软的确实简单好用,一会就在linux上弄好并测试通过了,然而在准备集成进去开写代码时,不小心看到了一眼首次激活需联网,后续方可离线使用,好吧,我们内网机器首次都不可能的,接着看了下离线激活方法,首先需要企业认证,这一步我们肯定没法做的,毕竟不是之前的小公司了,营业执照啥的随便给我肯定不行,直接放弃了。后来在同事推荐下看了下face_recognition这个项目,之前基本没用过python,于是有了漫长的踩坑之旅。
628 1
|
Python
「Python」pip /conda之镜像操作篇
本文主要汇总了win操作系统下的 Python pip和conda的相关操作命令,方便后续查看(复制粘贴)。
1159 0
「Python」pip /conda之镜像操作篇
pip永久配置清华源镜像
pip永久配置清华源镜像
1200 0
|
Python
python内网中如何pip install
python内网中如何pip install
496 0
python内网中如何pip install
下一篇
无影云桌面