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.mzph.cn/diannao/69440.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java_双列集合

双列集合特点 存放的是键值对对象(Entry) Map 因为都是继承Map,所以要学会这些API,后面的类就都知道了 put 有两个操作,添加(并返回null)或者覆盖(返回被覆盖的值&#xff09…

【AI学习】关于 DeepSeek-R1的几个流程图

遇见关于DeepSeek-R1的几个流程图,清晰易懂形象直观,记录于此。 流程图一 来自文章《Understanding Reasoning LLMs》, 文章链接:https://magazine.sebastianraschka.com/p/understanding-reasoning-llms?continueFlagaf07b1a0…

零基础都可以本地部署Deepseek R1

文章目录 一、硬件配置需求二、详细部署步骤1. 安装 Ollama 工具2. 部署 DeepSeek-R1 模型3. API使用4. 配置图形化交互界面(可选)5. 使用与注意事项 一、硬件配置需求 不同版本的 DeepSeek-R1 模型参数量不同,对硬件资源的要求也不尽相同。…

索引失效的场景

chatGpt 7. 使用 DISTINCT 或 GROUP BY 当查询中涉及 DISTINCT 或 GROUP BY 时,如果查询没有合适的索引支持,可能会导致性能问题,虽然不完全是索引失效,但会影响查询效率。 sql SELECT DISTINCT department_id FROM employees;…

Dockerfile 文件详解

在平常的开发工作中,我们经常需要部署项目,一个项目开发完成后,使用 Docker 方式部署,那么首先得构造镜像,构造镜像最主要的就是 Dockerfile 文件的编写,今天简单来总结下 Dockerfile 文件的编写以及有哪些…

天津三石峰科技——汽车生产厂的设备振动检测项目案例

汽车产线有很多传动设备需要长期在线运行,会出现老化、疲劳、磨损等 问题,为了避免意外停机造成损失,需要加装一些健康监测设备,监测设备运 行状态。天津三石峰科技采用 12 通道振动信号采集卡(下图 1)对…

SpringBoot教程(十四) SpringBoot之集成Redis

SpringBoot教程(十四) | SpringBoot之集成Redis 一、Redis集成简介二、集成步骤 2.1 添加依赖2.2 添加配置2.3 项目中使用之简单使用 (举例讲解)2.4 项目中使用之工具类封装 (正式用这个)2.5 序列化 &…

多智能体协作架构模式:驱动传统公司向AI智能公司转型

前言 在数字化浪潮的席卷下,传统公司的运营模式正面临着前所未有的挑战。随着市场竞争的日益激烈,客户需求的快速变化以及业务复杂度的不断攀升,传统公司在缺乏 AI 技术支撑的情况下,暴露出诸多痛点。在决策层面,由于…

边缘计算网关驱动智慧煤矿智能升级——实时预警、低延时决策与数字孪生护航矿山安全高效运营

迈向智能化煤矿管理新时代 工业物联网和边缘计算技术的迅猛发展,煤矿安全生产与高效运营正迎来全新变革。传统煤矿监控模式由于现场环境复杂、数据采集和传输延时较高,已难以满足当下高标准的安全管理要求。为此,借助边缘计算网关的实时数据…

互联网分布式ID解决方案

业界实现方案 1. 基于UUID 2. 基于DB数据库多种模式(自增主键、segment) 3. 基于Redis 4. 基于ZK、ETCD 5. 基于SnowFlake 6. 美团Leaf(DB-Segment、zkSnowFlake) 7. 百度uid-generator() 基于UUID生成唯一ID UUID生成策略 推荐阅读 DDD领域驱动与微服务架构设计设计模…

深入理解小波变换:信号处理的强大工具

引言 在科学与工程领域,信号处理一直是关键环节,傅里叶变换与小波变换作为重要的分析工具,在其中发挥着重要作用。本文将深入探讨小波变换,阐述其原理、优势以及与傅里叶变换的对比,并通过具体案例展示其应用价值。 一…

【数据结构】(7) 栈和队列

一、栈 Stack 1、什么是栈 栈是一种特殊的线性表,它只能在固定的一端(栈顶)进行出栈、压栈操作,具有后进先出的特点。 2、栈概念的例题 答案为 C,以C为例进行讲解: 第一个出栈的是3,那么 1、…

fastchat 部署大模型

大模型实战--Llama3.1大模型部署及启动Web UI、OpenAI API实操 - 简书一、背景 随着人工智能技术的飞速发展,大模型(Large Language Models, LLMs)已成为自然语言处理领域的核心工具。这些模型以其强大的语言理解和生成能力,...ht…

【R语言】卡方检验

一、定义 卡方检验是用来检验样本观测次数与理论或总体次数之间差异性的推断性统计方法,其原理是比较观测值与理论值之间的差异。两者之间的差异越小,检验的结果越不容易达到显著水平;反之,检验结果越可能达到显著水平。 二、用…

【deepSeek R1】Ollama 更改模型安装位置 以及应用安装位置

【deepSeek R1】Ollama 更改模型安装位置 以及应用安装位置 本地版部署deepSeek R1 可以参考文章 3分钟教你搭建属于自己的本地大模型 DeepSeek R1 Ollama 是一个开源工具,旨在帮助用户轻松在本地计算机上运行、部署和管理大型语言模型(LLMs)…

dijkstra算法类型题解

dijkstra算法(有权图,无权图): 带权路径长度——当图是带权图时,一条路径上所有边的权值之和,称为该路径的带权路径长度 初始化三个数组,final标记各顶点是否已找到最短路径,dist最…

6.Centos7上部署flask+SQLAlchemy+python+达梦数据库

情况说明 前面已经介绍了window上使用pycharm工具开发项目时,window版的python连接达梦数据库需要的第三方包。 这篇文章讲述,centos7上的python版本连接达梦数据库需要的第三方包。 之前是在windows上安装达梦数据库的客户端,将驱动包安装到windows版本的python中。(开…

国产化创新 守护开放边界网络安全

当今数字化浪潮的席卷下,企业、医院、政府部门等各类机构的信息化建设正以前所未有的速度推进。 在这个数字化转型的关键时期,尤其是在涉及国家核心利益和敏感数据的领域,我们不仅要追求技术的先进性,更要确保安全性和自主可控性…

postgresql 游标(cursor)的使用

概述 PostgreSQL游标可以封装查询并对其中每一行记录进行单独处理。当我们想对大量结果集进行分批处理时可以使用游标,因为一次性处理可能造成内存溢出。 另外我们可以定义函数返回游标类型变量,这是函数返回大数据集的有效方式,函数调用者…

Linux 快速对比两个文件的差异值

Linux 快速对比两个文件的差异值(无需排序、直接输出) 在日常开发或数据处理中,若需快速对比两个文本文件中的差异值(仅保留第一个文件中的独有内容),Linux 系统提供了两种高效方法。以下是具体操作及适用…