最近在搭建公司自己的python私有组件库,简单做一下记录:
1、安装nexus。
2、nexus新建仓库:
proxy(其他源代理仓库),设置其中的代理仓库,这里使用的是阿里云的;
hosted(自主推送pip包存放仓库);
group(主访问仓库,可以访问其他仓库)。
3、本地配置pip源:
$ vim ~/.pip/pip.conf
添加/修改配置:
[global]
index_url = http://nexus域名或IP:端口/repository/pypi-public/simple/
extra-index-url = http://nexus用户名:nexus密码@nexus域名或IP:端口/repository/pypi-public/simple/
[install]
trusted-host = nexus域名或IP
这里添加了nexus的访问校验,所以需要在extra-index-url中配置用户名密码。
检查配置:
$ pip config list
4、开发一个pip组件并推送pip包到仓库:
pip组件开发参考文章:《如何开发一个自己的Python组件?》。其中推送仓库地址需要注意,地址替换为nexus hosted仓库的地址,即:
$ python3 -m twine upload --repository-url http://nexus域名或IP:端口/repository/pypi-hosted/ dist/*
输入用户名密码,确认即可。
当然如果不想每次添加那么多参数、配置,可以先把仓库地址、用户名密码先配置起来:
$ vim ~/.pypirc
添加如下配置:
[distutils]
index-servers=nexus
[nexus]
repository:http://nexus域名或IP:端口/repository/pypi-hosted/
username:nexus用户名
password:nexus密码
上传包命令:
$ python3 -m twine upload -r dist/*