搭建私有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
分享
相关文章
如何搭建代理镜像仓库
不知道各位有没有我这种尴尬:kubernetes搭建过程中需要拉取到一些镜像,比如: dockerhub的镜像,这个还好。毕竟有加速器。but k8s.gcr.io,quay.io.这些怎么搞?正巧搭建kubeadm 1.25,helm安装cilium的时候悲摧了。下载不动怎么搞?docker时代的时候我还可以直接导入,但是containerd时代了 导入了还是要麻烦一些阿?搜索引擎搜了一下,找到下面三个文章,借鉴一下!
使用cnpm搭建企业内部私有NPM仓库
cnpm是企业内部搭建npm镜像和私有npm仓库的开源方案。它同时解决了现有npm架构的一些问题。
994 0
使用cnpm搭建企业内部私有NPM仓库
第四章 Helm仓库介绍配置国内仓库地址
第四章 Helm仓库介绍配置国内仓库地址
2548 2
[github配置] 远程访问仓库以及问题解决
[github配置] 远程访问仓库以及问题解决
184 0
使用Sinopia部署私有npm仓库
使用Sinopia部署私有npm仓库
154 0
CentOS7上使用GitLab搭建私有git代码仓库(超详细)(下)
CentOS7上使用GitLab搭建私有git代码仓库(超详细)(下)
241 1
CentOS7上使用GitLab搭建私有git代码仓库(超详细)(上)
CentOS7上使用GitLab搭建私有git代码仓库(超详细)(上)
496 0
2022-10-12-k8s搭建本地仓库
2022-10-12-k8s搭建本地仓库
123 0