当前位置: 首页 > news >正文

Docker安装pypiserver私服

Docker安装pypiserver私服

1 简介

Python开源包管理工具有pypiserver、devpi和Nexus等,pypiserver安装部署比较简单,性能也不错。

搭建pypiserver私服,可以自己构建镜像,也可以使用官网的docker镜像。

# Github地址
https://github.com/pypiserver/pypiserver

2 安装

使用docker安装pypiserver

# 下载包
docker pull pypiserver/pypiserver:v2.3.2

使用docker安装镜像

pypiserver支持使用.htpasswd设置用户名和密码。在目录中/home/pypiserver/创建密钥文件

# Ubuntu上安装htpasswd的依赖包
sudo apt-get install apache2 apache2-utils# 生成密码文件,root是用户名(可根据需求自己设定),之后输入密码即可
htpasswd -sc /home/pypiserver/.htpasswd root# 返回值如下
New password: 
Re-type new password: 
Adding password for user root

创建容器

docker run -itd \
--restart always \
--name pypiserver \
-p 8080:8080 \
-v /home/pypiserver/.htpasswd:/data/.htpasswd \
-v /home/pypiserver/packages:/data/packages \
pypiserver/pypiserver:v2.3.2 run -P .htpasswd packages

访问地址

# 系统地址
http://192.168.108.146:8080/# 软件包列表
http://192.168.108.146:8080/simple/

在这里插入图片描述
在这里插入图片描述

3 下载第三方包

单个下载numpy第三方包,建议不要再容器内下载包(会在下载.tar.gz时报错),推荐在宿主机的虚拟环境中下载。

# 进入容器
docker exec -it pypiserver /bin/bash# 指定下载目录packages
pip download numpy -d ./packages --no-cache-dir# 指定第三方源,可以加快下载
pip download numpy -d ./packages -i https://pypi.tuna.tsinghua.edu.cn/simple --no-cache-dir

批量下载第三方包

pip download -r requirements.txt -d ./packages

4 使用twine上传自定义包

在Python环境中安装twine

pip install twine

上传自定义包

注意:dist目录中是打包后的tar.gz或者whl文件,

# 上传依赖包
twine upload --repository-url http://192.168.108.146:8080/ dist/*.tar.gz
twine upload --repository-url http://192.168.108.146:8080/ dist/*.whl# 返回值
twine upload --repository-url http://192.168.108.146:8080/ ./*.whl
Uploading distributions to http://192.168.108.146:8080/
Enter your username: root
Enter your password:
Uploading numpy-2.2.2-cp310-cp310-musllinux_1_2_x86_64.whl
100% ---------------------------------------- 18.2/18.2 MB • 00:00 • 174.0 MB/s
# 上传tar.gz
twine upload --repository-url http://localhost:8080 dist/numpy-2.2.2-cp310-cp310-musllinux_1_2_x86_64.tar.gz# 上传.whl
twine upload --repository-url http://localhost:8080 dist/numpy-2.2.2-cp310-cp310-musllinux_1_2_x86_64.whl

5 使用依赖包

安装私有依赖包numpy。

# 注意不能单独使用-i, --index-url安装,尽量添加--trusted-host参数
pip install -i http://192.168.108.146:8080/simple/ --extra-index-url http://192.168.108.146:8080/simple/ --trusted-host 192.168.108.146 numpy# 查看numpy
pip search --index http://192.168.108.146:8080 numpy

http://www.mrgr.cn/news/89805.html

相关文章:

  • unity学习29:摄像机camera相关skybox 和 Render Texture测试效果
  • AlwaysOn 可用性组副本所在服务器以及该副本上数据库的各项状态信息
  • SpringBoot中的多环境配置管理
  • 探索高效图像识别:基于OpenCV的形状匹配利器
  • HarmonyOS简介:应用开发的机遇、挑战和趋势
  • 我的求职之路合集
  • 【0401】Postgres内核 CREATE DATABASE database-name 源码实现 ①
  • VSCode便捷开发
  • k8s部署go-fastdfs
  • Android LifecycleOwner 闪退,java 继承、多态特性!
  • python编程-内置函数range(),round()详解
  • 【GeeRPC】Day1:服务端与消息编码
  • 网络编程 day2
  • .net8.0使用EF连接sqlite数据库及使用Gridify实现查询的简易实现
  • 2025.2.7 Python开发岗面试复盘
  • 一文吃透!DataStage 全面概述与核心知识要点大公开
  • 如何在Windows上使用Docker
  • xinference 安装(http导致错误解决)
  • hive的几种复杂数据类型
  • 深度学习01 神经网络
  • 使用bucardo实现postgresql数据库双主同步
  • 一文速览DeepSeek-R1的本地部署——可联网、可实现本地知识库问答:包括671B满血版和各个蒸馏版的部署
  • 二分查找算法 (典型算法思想)—— OJ例题算法解析思路
  • MFC 学习笔记目录
  • 车型检测7种YOLOV8
  • 订单状态监控实战:基于 SQL 的状态机分析与异常检测