在内网环境下部署python开发环境,安装python第三方库比较麻烦,特别是安装需要多个依赖的库。一种比较好的解决方案是搭建一个本地的私有pip镜像源,有多个方案可以选择,比如pypiserver、pip2pi等,本文介绍使用python的pip2pi库,搭配nginx来搭建pip镜像源的方法。
创建缓存目录:
mkdir /pip_local_source cd /pip_local_source/使用命令将需要的软件包下载到目录中
pip download -d . pywinrm安装
pip2pi使用
pip命令安装pip3 install pip2pi离线环境可先到有网的环境下载
whl包 : https://pypi.org/project/pip2pi/#files然后离线安装 :
$ pip3 install pip2pi-0.8.2-py2.py3-none-any.whl创建索引信息
将下载的
python安装包放到/pip_local_source/目录下,然后执行如下命令创建索引:dir2pi /pip_local_source/执行成功后 ,
/pip_local_source/目录下会创建一个simple目录,对库文件进行了索引:├── simple │ ├── aerich │ │ ├── aerich-0.7.2-py3-none-any.whl -> ../../aerich-0.7.2-py3-none-any.whl │ │ └── index.html │ ├── aiofiles │ │ ├── aiofiles-0.5.0-py3-none-any.whl -> ../../aiofiles-0.5.0-py3-none-any.whl │ │ └── index.html ...
nginx安装配置如果只是临时使用,也可以直接使用
Python内置模块http.server来创建一个简单的web服务,在包文件目录(/pip_local_source/)执行如下命令即可:python3 -m http.server 8086可以通过nginx实现这个功能。
nginx配置如下:$ vim /usr/local/nginx/nginx.conf 1、设置 user root; 2、配置pip源端口号以及路径 server { listen 8086; server_name 192.168.20.9:8086; location / { root /home/pythonlibs; autoindex on; charset utf-8; } }启动成功后可在浏览器访问地址:http://192.168.20.9:8086/simple/。
页面列出了所有索引成功的python库,说明pypi本地源已经搭建成功。
本地源部署完成后,可以使用pip命令从搭建的本地源下载安装python库:
pip3 install xlwt -i http://192.168.20.9:8086/simple --trusted-host 192.168.20.9
参考链接