前言
通常我们在下载 python
包时都会选择清华源或者阿里源。但是当我们的开发环境无法访问外网的时候,就需要搭建私有源。今天我们就一起花 5
分钟时间学习如何搭建一个本地私有源。
工具选择
搭建本地私有源有很多种方案,包含但不限于 pypiserver,pip2pi,bandsnatch
,其中 pypiserver
上手难度最小,使用方便,功能简单。后两个适用于搭建企业级的源,因为其拥有自动同步包的功能。
服务搭建
下载 pypiserver
pip install pypiserver 复制代码
创建包路径
mkdir ~/packages 复制代码
启动服务
PS C:\Users\admin> pypi-server.exe 127.0.0.1 - - [23/Jun/2021 10:44:49] "GET / HTTP/1.1" 200 1007 127.0.0.1 - - [23/Jun/2021 10:44:54] "GET /simple/ HTTP/1.1" 200 221 127.0.0.1 - - [23/Jun/2021 10:45:25] "POST /RPC2 HTTP/1.1" 200 509 复制代码
查看 web 页面
网络异常,图片无法展示
|
到此,服务启动完成。
准备包
首先,我们切换到 ~/packages
目录下,然后将自己的 python
包拷贝到这里,或者将已经下载好的包上传到此目录下。
我们选择直接从外源下载。
下载示例包
cd ~/packages pip download -i https://pypi.tuna.tsinghua.edu.cn/simple simplejson 复制代码
从本地源搜索
PS C:\Users\admin\packages> pip search -i http://localhost:8080 simplejson simplejson (3.17.2) - 3.17.2 PS C:\Users\admin\packages> 复制代码
安装包
安装前
PS C:\Users\admin\packages> pip show simplejson WARNING: Package(s) not found: simplejson PS C:\Users\admin\packages> 复制代码
安装
PS C:\Users\admin\packages> pip install -i http://localhost:8080/simple simplejson Looking in indexes: http://localhost:8080/simple Collecting simplejson Downloading http://localhost:8080/packages/simplejson-3.17.2-cp37-cp37m-win_amd64.whl (73 kB) |████████████████████████████████| 73 kB ... Installing collected packages: simplejson Successfully installed simplejson-3.17.2 PS C:\Users\admin\packages> 复制代码
安装后
PS C:\Users\admin\packages> pip show simplejson Name: simplejson Version: 3.17.2 Summary: Simple, fast, extensible JSON encoder/decoder for Python Home-page: https://github.com/simplejson/simplejson Author: Bob Ippolito Author-email: bob@redivi.com License: MIT License Location: d:\python37\lib\site-packages Requires: Required-by: PS C:\Users\admin\packages> 复制代码
到此本地 pypi
源搭建全部结束。
Linux
上的搭建方法和Windows
基本一致。
Tip
此次试验搭建的源仅供开发使用,如果需要搭建企业级的私有源,需要定时同步官方源,建议您使用 bandsnatch
进行搭建。
以上就是今天的全部内容了,感谢您的阅读,我们下节再会。