搭建私有pypi仓库及需要注意的问题

简介: 很多公司级的Python项目不方便上传到公有仓库,这时候就需要搭建自己的私有pypi仓库了,这里如果只是团队部门小范围使用,推荐通过pypiserver搭建。

搭建私有仓库



安装pypiserver

pip install pypiserver


添加认证

使用htpasswd创建用户和密码,首先安装 passlib:

pip install passlib

创建htpasswd文件并创建一个用户(admin),并按照提示输入密码:

htpasswd -s htpasswd.txt admin


这里要注意的是:有些我们依赖的公有仓库中的packages在本地找不到,下载会超时,需要通过--fallback-url设置一个备选的镜像源:

pypi-server -p 2233 --fallback-url https://pypi.doubanio.com/simpl


如果不需要认证增加-P . -a .参数即可:

pypi-server -p 2233 -P . -a . --fallback-url https://pypi.doubanio.com/simple

上传Python包到pypi仓库


先创建~/.pypirc文件,并配置源的用户名密码:

[distutils]
index-servers =
    local
[local]
repository: http://localhost:2233
username: admin
password: 123456


然后使用sdist命令创建源分发,使用twine上传

release:clean_pyc
  python setup.py sdist bdist_wheel
  twine upload -r local ./dist/*
clean_pyc:
  find . -iname "*.pyc" -delete
  find . -iname "__pycache__" | xargs rm -rf {} \;


在用Jenkins做持续集成的时候,twine有概率出现找不到配置文件的情况,这时候通过 --config-file 参数指定你机器上.pypirc的路径即可:

twine upload --config-file .pypirc -r local ./dist/*
目录
打赏
0
0
0
0
5
分享
相关文章
[k8s]使用私有harbor镜像源
[k8s]使用私有harbor镜像源
第四章 Helm仓库介绍配置国内仓库地址
第四章 Helm仓库介绍配置国内仓库地址
2544 2
[github配置] 远程访问仓库以及问题解决
[github配置] 远程访问仓库以及问题解决
184 0
使用Sinopia部署私有npm仓库
使用Sinopia部署私有npm仓库
154 0
使用Dcoker Registry搭建私有镜像仓库
使用Dcoker Registry搭建私有镜像仓库
524 0
2022-10-12-k8s搭建本地仓库
2022-10-12-k8s搭建本地仓库
123 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等