1、关于pipyserver
因为单位的内网与互联网物理隔离,无法访问官方的PyPI,平时做python开发需要添加包非常不方便,虽然也可将包下载到本地,通过pip
安装,但无法多机多人共享。
1 | (venv)$ pip3 install /path/to/mypkgs/one.whl |
于是在网上找了一些资料,发现有不少架设私有pypi服务的工具:
经过对比,我选择了pypiserver
,官方对其介绍如下:
pypiserver is a minimal PyPI compatible server for pip or easy_install. It is based on bottle and serves packages from regular directories. Wheels, bdists, eggs and accompanying PGP-signatures can be uploaded either with pip, setuptools, twine, pypi-uploader, or simply copied with scp.
意思就是:
pypiserver
是用于pip
和easy_install
的迷你PyPI兼容服务器,基于bottle
并将包直接存储在文件系统目录中,也支持通过pip
,setuptools
,twine
,pypi-uploader
或者简单的scp命令向服务器上传Whells, bdists,eggs等各种格式的包以及相关PGP签名。
搭建步骤非常简单:
2.安装
安装非常简单,如果能接互联网,则使用pip3
安装
1 | pip3 install pypiserver |
如果不能接,先找个互联网电脑下载,然后把安装包复制到要安装的服务器中。
1 | $ pip3 download pypiserver |
3.运行 pypiserver 服务
建一个目录,用于放各种包
1
$ mkdir ~/pipy-pkgs
将你的包复制到
~/pipy-pkgs
下,然后运行服务1
$ pypi-server -p 8080 ~/pipy-pkgs &
注意:
pypiserver
安装好后,pypi-server
脚本一般位于~/.local/bin
目录。
4.在客户机上访问
1 | # 安装包 |
5.配置客户机 pip
在linux上,可以通过编辑~/.pip/pip.conf
文件,设定一次性 pip
的源:
1 | [global] |
更多高级用法,请参考 官方主页