为了让内网使用pip下载安装,需要在内网中创建pip源,类似离线仓库。使用pypiserver可以指定离线仓库目录, 将安装包放到离线仓库目录即可,只要有人上传一次后,其他人需要该模块,就不用再花时间去外网找了。不必一次同步全量的离线包,毕竟全量镜像可能有3T多。
一、服务器安装 pypiserver
- 安装 pypiserver
Python 的版本要求是:3.6+
去外网 pypi 下载 pypiserver-1.5.0-py2.py3-none-any.whl
传入内网机器,然后安装
#安装
pip install pypiserver-1.5.0-py2.py3-none-any.whl
or
pip3 install pypiserver-1.5.0-py2.py3-none-any.whl
- 服务器新建模块包存放位置
以后传入内网的模块,都统一上传到部署了 pypiserver 的服务器上
创建安装包存储文件夹
#默认是~/packages,实际可以自己指定
$ mkdir ~/packages
3. 服务器配置运行 pypiserver
方案一:手动开启服务,服务器重启失效
启动服务
mkdir ~/packages
pypi-server -p 8080 ~/packages &
建议指定端口和文件夹启动服务,避免冲突pypi-server -p 8080 ~/packages &
#不添加参数,默认使用 8080 端口和 packages 文件夹
启动服务
浏览器地址栏,输入 http://192.168.129.123:8080/simple
不添加参数,默认使用 8080 端口和 packages 文件夹
pypi-server
二、使用离线pip源
## 不修改pip源使用 --extra-index-url
pip install --extra-index-url http://localhost:8080/simple/
# 修改 pip 源地址为 pypiserver 服务器所在地址
pip config set global.index-url http://192.168.129.123:8080/simple
# 添加信任 pypiserver 服务器
pip config set global.trusted 192.168.129.123
# 查看修改结果
pip config list
# 推荐的配置
tee ~/.pip/pip.conf <<-'EOF'
[global]
index-url = http://192.168.129.123:8080/simple
extra-index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host = 192.168.129.123
EOF
参考:
[1]https://blog.csdn.net/qq_37016994/article/details/122824140