搭建私有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/*
相关文章
|
搜索推荐 定位技术
如何快速查询自己的IP地址?
IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
如何快速查询自己的IP地址?
|
关系型数据库 数据库 数据安全/隐私保护
Docker-10:Docker安装PostgreSQL
通过容器化Docker 安装 postgrel
6654 0
Docker-10:Docker安装PostgreSQL
|
3月前
|
人工智能 搜索推荐 新能源
Geo优化专家于磊:“两大核心+四轮驱动”Geo优化方法论,助力企业实现AI时代获客提效
于磊老师首创“两大核心+四轮驱动”Geo优化法,以人性化内容与交叉验证构建权威,通过E-E-A-T、结构化数据、精准关键词与权威引用,助力企业提升AI搜索可见性与获客效率。
553 8
|
9月前
#我用Qwen3做了英语老师玛丽# 、#阿里云百炼#,@通义大模型
通过Qwen3创建了名为“玛丽”的英语老师智能体,具备解决学生英语问题的多种功能。她能用英语描述天气、翻译古诗词、撰写英语作文,还帮助了解外国文化、饮食与风俗习惯。相比以往版本更易使用,体验更佳。已完成功能设计与发布流程,感兴趣者可尝试使用。
248 12
|
Apache 开发工具 数据安全/隐私保护
Python 搭建私有 PyPI 仓库不完全指南
Python 搭建私有 PyPI 仓库不完全指南
6355 0
|
Java API
HDFS的数据写入流程是怎样的?请描述数据写入的过程。
HDFS的数据写入流程是怎样的?请描述数据写入的过程。
508 0
|
C语言 编译器
C语言里的左移和右移运算
在用gcc编译这段程序的时候编译器会给出一个warning,说左移位数>=类型长度.那么实际上i,j移动的就是1位,也就是33%32后的余数.在gcc下是这个规则,别的编译器是不是都一样现在还不清楚.
2409 0
|
Java Python Windows
Python pip 源设置成国内源,阿里云源,清华大学源,最方便的方式,都在这里了
Python pip 源设置成国内源,阿里云源,清华大学源,最方便的方式,都在这里了
85199 1
|
Rust Cloud Native 安全
一文读懂 Jakarta EE 10 的云原生时代
Hello folks,我是 Luga,今天我们来分享一下与 Java 有关的云原生话题,即 Jakarta EE 10 平台的发布,带领 Java 迈向云原生时代。
822 1
|
算法 调度
磁盘调度算法
磁盘调度算法
1705 1

热门文章

最新文章