【pypi镜像源】使用devpi实现python镜像源代理(缓存加速,私有仓库,版本控制)
【pypi镜像源】使用devpi实现python镜像源代理(缓存加速,私有仓库,版本控制)
文章目录
- 1、背景与目标
- 2、devpi-server 服务端搭建
- 3、devpi 镜像源使用
1、背景与目标
背景1(访问速度优化):
- 直接用pip安装包会访问官方源,在国内速度很慢,通常用pip的清华/阿里云源替代。
- 但即便如此,这些远程pypi源网速也不稳定,而且比如pytorch/tensorflow这种几百兆的大型包,下载仍然费时,如果给新人配环境,还要重复下载。
- 这就需要一个缓存pypi服务器来做中转,在内网中下载缓存包,相当于直接拷贝,配环境速度起飞。
- 期望:
缓存机制:内置缓存机制,提升包下载速度,节省带宽(优化访问速度)。
简易配置:通过简单的配置即可快速部署和使用,降低维护成本(考虑docker部署)。
灵活部署:支持多种部署方式,可单机使用,也支持多服务器分布式部署(支持挂载公共对象存储、文件存储)。
背景2(私有镜像包):
- 私有仓库:期望仅用于内网,局域网的软件包。
- 版本控制:更近于一步的,用户期望创建和管理私人PyPI服务器上的索引,实现包的版本控制。
- 权限控制:提供用户和权限管理,确保包的安全性。
技术选型:
- 常见的缓存代理方案:devpi 缓存代理, Nexus 缓存代理, JFrog Artifactory 缓存代理
- 维度
类型
核心功能
部署复杂度
存储需求
维护成本
私有包支持
权限控制
高可用性
适用场景
优点
缺点 - Nexus:维护成本较高,虽然支持py以外的源但是目前用不上
- JFrog Artifactory:需要商业授权,并且维护成本较高,仅支持集群部署
- devpi:因此devpi是目前最合适的方案
- pypi-server :官方推荐的一个服务器,但主要用做上传私有包。上传方便,直接拷贝安装包到文件夹即可。但目前没查到缓存已下载包的方法,使用时和其他源是并列关系。
- bendersnatch : 功能也很强大,但会把源镜像的包全部同步到本地,需要大量存储空间。
参考资料:1,2, 3,5,6
2、devpi-server 服务端搭建
github, 官方文档
devpi的组成:
- 需要python>=3.7
- 使用版本 devpi2.2.0, devpi-client5.2.3, devpi-server==6.4.0
- 虽然包名叫devpi,但在当前版本(devpi-server==6.4.0),功能已经被分为客户端 devpi-client 和服务端 devpi-server
- devpi-client: 直接使用devpi的命令调用的,专门管理已经启动的服务(index,user等指令)
- devpi-server: 加参数用来启动服务器的。只有先启动devpi服务,client才能控制(use指令)
- devpi-web: 一个网页版客户端,和cli版本的功能互相补全(或者说两个客户端功能都残废)。
网页地址和 index_url 相同。网页上可以搜索包名,点击对应版本的安装包可以直接下载。如果已经缓存过,描述中会显示文件大小,反之说明没有本地缓存。 - devpi-init: 最新版本下(devpi-server 6.14.0),使用配置文件初始化devpi的方式。
- devpi配置:目前还没有找到一步到位配置devpi的方法。
首次启动服务器时,mirror_url不能通过config文件传递给程序,只能用上文方式登陆后再修改。但还好,只需要配置一次。这些配置文件会存放在server目录中的数据库文件。
devpi-server 服务搭建
# 虚拟环境
python3 -m venv devpi
source devpi/bin/activate# 安装
pip install devpi-server
devpi-server --version # devpi-server 6.14.0
devpi --version # devpi-client 7.2.0# 初始化
# devpi的配置和缓存安装包的文件夹。不指定目录默认为~/.devpi/server
# devpi-init --serverdir=[PATH]
rm -rf ~/.devpi/server
devpi-init --configfile devpi-server.yml
devpi-server --configfile devpi-server.yml# 启动服务
# http://localhost:3141/
devpi-server --host=[HOST] --port=[PORT] --serverdir=[PATH]
devpi-server
手动配置索引
# 切换到指定索引
devpi use http://localhost:3141
lsof -i :3141# 用户管理
devpi user -l # 查看用户列表
devpi login root --password '' # 默认用户为root 密码为空
devpi user -m root password=123 # 修改密码为123
devpi user -c user1 password=123 # 创建新用户
devpi login user1 --password=123
devpi logout# 索引管理
# 第一次启动后,会自动从python官方源下载索引
# 每个用户可以创建多个index,index直接还可以继承,默认为root/pypi
devpi upload --index user1/thu # 上传包
devpi index -c user1/thu bases=root/pypi # 创建索引
devpi use user1/thu # 使用索引
devpi index root/pypi # 查看索引配置
# http://localhost:3141/root/pypi:
# type=mirror
# volatile=False
# mirror_url=https://mirrors.aliyun.com/pypi/simple/
# mirror_web_url_fmt=https://mirrors.aliyun.com/pypi/simple/{name}/
# title=PyPI
索引镜像源切换
# 切换镜像源地址=>阿里云
# 同步完成后,会删除旧索引,索引都在indices文件夹中
# 网页地址:http://localhost:3141/root/pypi ,或者看 devpi-server 的日志
devpi login root --password ''
devpi index root/pypi "mirror_web_url_fmt=https://mirrors.aliyun.com/pypi/simple/{name}/" "mirror_url=https://mirrors.aliyun.com/pypi/simple/"
devpi index root/pypi "mirror_web_url_fmt=https://pypi.tuna.tsinghua.edu.cn/simple/{name}/" "mirror_url=https://pypi.tuna.tsinghua.edu.cn/simple/"# 尝试切换多个源
devpi index --delete root/thu
devpi index -c root/thu
devpi index root/thu "mirror_web_url_fmt=https://pypi.tuna.tsinghua.edu.cn/simple/{name}/" "mirror_url=https://pypi.tuna.tsinghua.edu.cn/simple/"
上传私有包
- devpi 的 index有两种类型,mirror 和 stage,前者就是默认使用的,拉取远程镜像,但不能传文件到这个 index中。
- 这时需要创建新的 index,指定 stage 类型。然后 devpi use 这个 index,再 devpi upload 本地包。(更多的操作例如本地发布包,也有对应的指令)
- 当我下载时,devpi 会先搜索上传的包,如果没有找到依然能通过 mirror 的 index 来下载,则可以修改 bases,指向 root/pypi,这样就串联起来了。
可能的dockerfile
# 使用官方的带有Python的Ubuntu镜像
FROM python:3.9-slim# 设置工作目录
WORKDIR /root/# 安装 supervisor 和 devpi 相关包
RUN pip install supervisor
RUN mkdir /devpi
RUN pip install devpi-server devpi-web devpi-lockdown \&& devpi-init \&& devpi-gen-config --host 0.0.0.0 --port 3141# 安装 Nginx
RUN apt-get update \&& apt-get install -y nginx# 复制 Nginx 配置文件和启动脚本
COPY ./nginx-devpi.conf /etc/nginx/sites-enabled/default
COPY ./run.sh /root/# 暴露 devpi 和 Nginx 的端口
EXPOSE 3141
EXPOSE 80# 设置启动脚本
ENTRYPOINT ["bash", "run.sh"]
参考资料:1 , 2
3、devpi 镜像源使用
pip config 配置,和使用阿里云/清华源一样
1、临时使用
在pip install后添加 index_url 和 trusted_host
# 语法
pip install requests -i 镜像URL --trusted-host 信任的域名
pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn# 可选源
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:https://mirrors.aliyun.com/pypi/simple/
豆瓣:https://pypi.doubanio.com/simple/# devpi
pip install -i "http://[host]/root/dev/+simple/" [package] --trusted-host [host]
pip install -i "http://[user]:[password]@[host]/root/dev/+simple/" [package] --trusted-host [host]# 例子
pip install -i http://localhost:3141/root/pypi ansible
pip install -i http://user1:123@localhost:3141/user1/thu ansible
2、长期使用
修改本地 pip.conf 文件,默认在~/.pip/pip.conf。
[global]
trusted-host=[HOST]
index-url=http://[HOST]:[PORT]/root/pypi/
# extra-index-url=http://mirrors.aliyun.com/pypi/simple/
timeout=120
相关文章:
【pypi镜像源】使用devpi实现python镜像源代理(缓存加速,私有仓库,版本控制)
【pypi镜像源】使用devpi实现python镜像源代理(缓存加速,私有仓库,版本控制) 文章目录 1、背景与目标2、devpi-server 服务端搭建3、devpi 镜像源使用 1、背景与目标 背景1(访问速度优化): 直…...
Spring Bean有哪几种配置方式?
大家好,我是锋哥。今天分享关于【Spring Bean有哪几种配置方式?】面试题。希望对大家有帮助; Spring Bean有哪几种配置方式? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Spring Bean的配置方式主要有三种ÿ…...
无人机信号线被电磁干扰导致停机
问题描述: 无人机飞控和电调之间使用PWM信号控制时候,无人机可以正常起飞,但是在空中悬停的时候会出现某一个电机停机,经排查电调没有启动过流过压等保护,定位到电调和飞控之间的信号线被干扰问题。 信号线被干扰&am…...
RWA开发全解析:技术架构、合规路径与未来趋势
RWA开发全解析:技术架构、合规路径与未来趋势 ——2025年真实世界资产代币化的创新逻辑与实践指南 一、RWA的核心定义与爆发逻辑 1. 什么是RWA? RWA(Real World Asset Tokenization)是通过区块链技术将现实资产(房地…...
消息队列作用及RocketMQ详解(1)
目录 1 什么是消息队列 2 为什么要使用消息队列 2.1 异步处理 2.2 解耦 2.3 削峰填谷 3. 如何选择消息队列? 4. RocketMQ 4.1 生产者 4.2 消费者 4.3 主题 4.4 NameSever 4.5 Broker 5. 生产者发送消息 5.1 普通消息发送 5.1.1 同步发送 5.1.2 异步发送 5…...
DICOM 网络服务实现:医学影像传输与管理的技术实践
🧑 博主简介:CSDN博客专家、CSDN平台优质创作者,高级开发工程师,数学专业,10年以上C/C++, C#, Java等多种编程语言开发经验,拥有高级工程师证书;擅长C/C++、C#等开发语言,熟悉Java常用开发技术,能熟练应用常用数据库SQL server,Oracle,mysql,postgresql等进行开发应用…...
恰到好处TDR
了解我的人都知道我喜欢那些从 1 到 10 到 11 的东西。对于那里的年轻人,参见 Spinal Tap,1984 年。但是有没有把它调得太高这样的事情呢?我收到并回答了很多关于使用时域反射仪 (TDR) 进行测量的问题。 我需要多少带宽…...
kubernetes服务自动伸缩-VPA
实验环境 安装好k8s集群 一、准备工作 1、部署Metrics Server VPA 依赖 Metrics Server 来获取 Pod 的资源使用数据。首先需要部署 Metrics Server 下载地址(需要连接VPN):wget https://github.com/kubernetes-sigs/metrics-server/relea…...
stm32之BKP备份寄存器和RTC时钟
目录 1.时间戳1.1 Unix时间戳1.2 UTC/GMT1.3 时间戳转换**1.** time_t time(time_t*)**2.** struct tm* gmtime(const time_t*)**3.** struct tm* localtime(const time_t*)**4.** time_t mktime(struct tm*)**5.** char* ctime(const time_t*)**6.** char* asctime(const stru…...
OSCP - Hack The Box - Sau
主要知识点 CVE-2023-27163漏洞利用systemd提权 具体步骤 执行nmap扫描,可以先看一下55555端口 Nmap scan report for 10.10.11.224 Host is up (0.58s latency). Not shown: 65531 closed tcp ports (reset) PORT STATE SERVICE VERSION 22/tcp o…...
C++色彩博弈的史诗:红黑树
文章目录 1.红黑树的概念2.红黑树的结构3.红黑树的插入4.红黑树的删除5.红黑树与AVL树的比较6.红黑树的验证希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力! 红黑树是一种自平衡二叉查找树,每个节点都带有颜色属性,颜色或为…...
14.three官方示例+编辑器+AI快速学习webgl_buffergeometry_instancing_interleaved
本实例主要讲解内容 这个Three.js示例展示了如何结合使用索引几何体、GPU实例化和交错缓冲区来高效渲染大量相同模型的不同实例。通过这种技术组合,我们可以在保持较低内存占用的同时渲染数千个独立变换的对象。 核心技术包括: 索引几何体的实例化渲染…...
「华为」人形机器人赛道投资首秀!
温馨提示:运营团队2025年最新原创报告(共210页) —— 正文: 近日,【华为】完成具身智能赛道投资首秀,继续加码人形机器人赛道布局。 2025年3月31日,具身智能机器人头部创企【千寻智能&#x…...
GitHub 趋势日报 (2025年05月11日)
本日报由 TrendForge 系统生成 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日整体趋势 Top 10 排名项目名称项目描述今日获星总星数语言1harry0703/MoneyPrinterTurbo利用ai大模型,一键生成高清短视频使用…...
MySQL查询优化100条军规
概述 以下是MySQL查询优化的关键军规,分为不同类别,帮助您系统化提升数据库性能资料已经分类整理好,喜欢的朋友自取:https://pan.quark.cn/s/f52968c518d3 一、索引优化 为WHERE、JOIN、ORDER BY字段建索引联合索引遵循最左前缀…...
WEBSTORM前端 —— 第3章:移动 Web —— 第1节:平面转换、渐变
目录 一.平面转换 二.平面转换 – 平移 ①属性 ②取值 ③技巧 三.平移实现居中效果 四.案例——双开门效果 五.平面转换 – 旋转 ①属性 ②技巧 六.平面转换 – 改变转换原点 ①属性 ②取值 七.案例-时钟 八.平面转换 – 多重转换 九.平面转换 – 缩放 ①属性 …...
1.10-数据传输格式
1.10-数据传输格式 在对网站进行渗透测试时,使用目标服务器规定的数据传输格式来进行 payload 测试非常关键 如果不按规定格式发送数据,服务器可能直接拒绝请求或返回错误响应,比如: 接口要求 JSON 格式,而你用的是…...
Python制作Dashboard【待续】
运行环境:jupyter notebook (python 3.12.7)...
物理:海市蜃楼是宇宙背景辐射吗?
宇宙背景辐射(特别是宇宙微波背景辐射,CMB)与海市蜃楼是两种完全不同的现象,它们的物理机制、来源和科学意义截然不同。以下是详细的解释: 1. 宇宙微波背景辐射(CMB)的本质 起源:CMB是大爆炸理论的关键证据之一。它形成于宇宙诞生后约38万年(即“最后散射时期”),当…...
联想 SR550 服务器,配置 RAID 5教程!
今天的任务,是帮客户的一台联想Lenovo thinksystem x SR550 服务器,配置RAID 5,并安装windows server 2019操作系统。那么依然是按照我的个人传统,顺便做一个教程,分享给有需要的粉丝们。 第一步,服务器开机…...
Docker-配置私有仓库(Harbor)
配置私有仓库(Harbor) 一、环境准备安装 Docker 三、安装docker-compose四、准备Harbor五、配置证书六、部署配置Harbor七、配置启动服务八、定制本地仓库九、测试本地仓库 Harbor(港湾),是一个用于 存储 和 分发 Docker 镜像的企业级 Regi…...
1.5 连续性与导数
一、连续性的底层逻辑(前因) 为什么需要研究连续性? 数学家在研究函数图像时发现两类现象:有些函数能用一笔画完不断开(如抛物线),有些则会出现"断崖"“跳跃"或"无底洞”&a…...
Day22打卡-复习
复习日 仔细回顾一下之前21天的内容,没跟上进度的同学补一下进度。 作业: 自行学习参考如何使用kaggle平台,写下使用注意点,并对下述比赛提交代码 泰坦尼克号人员生还预测https://www.kaggle.com/competitions/titanic/overview K…...
配置Hadoop集群环境准备
(一)Hadoop的运行模式 一共有三种: 本地运行。伪分布式完全分布式 (二)Hadoop的完全分布式运行 要模拟这个功能,我们需要做好如下的准备。 1)准备3台客户机(关闭防火墙、静态IP、…...
HTTPS全解析:从证书签发到TLS握手优化
HTTPS(超文本传输安全协议 本质上是HTTP的安全版本。标准的HTTP协议仅规范了客户端与服务器之间的通信格式,但所有数据传输都是明文的,容易被中间人窃听和篡改。HTTPS通过加密传输数据解决了这一安全问题。 HTTPS可以理解为"HTTPTLS/SS…...
#将一个 .c 文件转变为可直接运行的文件过程及原理
将一个 .c 文件(C语言源代码)转变为可直接运行的可执行文件,涉及从源代码到机器码的编译和链接过程。以下是详细的过程与原理,分为步骤说明: 一、总体流程 .c 文件到可执行文件的过程通常包括以下几个阶段:…...
【软件学习】GeneMiner 2:系统发育基因组学的一体化全流程分析工具
【软件学习】GeneMiner 2—— 系统发育基因组学的一体化全流程分析工具 文章目录 【软件学习】GeneMiner 2—— 系统发育基因组学的一体化全流程分析工具前言一、软件了解二、软件安装三、软件使用示例演示3.1 快速掌握使用方法3.2 获取质体基因组和质体基因3.3 单拷贝基因建树…...
聊一聊AI对接口测试的潜在影响有哪些?
目录 一、 自动化测试用例生成 二、 缺陷预测与根因分析 三、自适应测试维护 四、实时监控与自适应优化 五、 性能与安全测试增强 六、测试结果分析与报告 七、持续测试与DevOps集成 八、挑战与局限性 九、未来趋势 使用AI可以自动化测试用例生成、异常检测、结果分析…...
wordcount在mapreduce的例子
1.启动集群 2.创建项目 项目结构为: 3.pom.xml文件为 <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://mave…...
CSS3 遮罩
在网页设计中,我们经常需要实现一些特殊的视觉效果来增强用户体验。CSS3 遮罩(mask)允许我们通过控制元素的可见区域来创建各种精美的视觉效果。本文将带你全面了解 CSS3 遮罩的功能和应用。 什么是 CSS3 遮罩? CSS3 遮罩是一种…...
HTTP协议解析:Session/Cookie机制与HTTPS加密体系的技术演进(一)
一.HTTP协议 我们上篇文章已经提到了对于自定义协议的序列化与反序列化。那么有没有什么比较成熟的,大佬们写的应用层协议,供我们参考使用呢?HTTP(超文本传输协议)就是其中之一。 在互联网世界中, HTTP(HyperText Transfer Prot…...
Matlab 234-锂电池充放电仿真
1、内容简介 Matlab 234-锂电池充放电仿真 可以交流、咨询、答疑 2、内容说明 略 锂离子电池已经广泛应用于我国目前电子产品市场,当下手机市场和新能源市场对于锂离子电池的大量需求,推动了锂离子电池的发展,我国已经成为世界上锂离子电池…...
std::move 和 std::forward
关联点 都是执行转换(cast)的函数(函数模板),不产生任何可执行代码。且都可以把实参转换成右值。 std::move无条件将实参(const除外 )转换成右值引用,std::forward 条件返回右值引用 _EXPORT_STD template…...
工业协议跨界实录:零基础玩转PROFINET转EtherCAT主站智能网关
工业自动化领域的金字塔就是工业通信行业,用的最多的便是协议转换模块,通俗来说,网关就像一个“语言翻译器”,能把一种通信语言转换成另一种,满足实际通信需求,还能保护投资。PROFINET 转EtherCAT 网关WL-P…...
开源链动2+1模式AI智能名片S2B2C商城小程序赋能新微商服务能力升级研究
摘要:本文聚焦新微商服务能力升级路径,探讨开源链动21模式、AI智能名片与S2B2C商城小程序在重构培训体系、激励机制及用户服务中的协同作用。研究显示,新微商通过“技术赋能-机制创新-服务深化”三维变革,将传统微商的“产品压货”…...
vue3配置element-ui的使用
今天阐述一下如何在vue中进行配置使用element-ui; 一,配置下载Element 1.首页在电脑上下载好vue,以及npm,可以去相关的官方进行下载。 2.进行配置命令 npm install element-plus --save如报错: npm error code ERE…...
39-绘制渐变的文字
39-绘制渐变的文字_哔哩哔哩_bilibili39-绘制渐变的文字是一次性学会 Canvas 动画绘图(核心精讲50个案例)2023最新教程的第40集视频,该合集共计53集,视频收藏或关注UP主,及时了解更多相关视频内容。https://www.bilibi…...
HBase进阶之路:从原理到实战的深度探索
目录 一、HBase 核心概念再梳理 1.1 RowKey 1.2 Column Family 1.3 Region 二、架构与运行机制剖析 2.1 架构组件详解 2.1.1 Client 2.1.2 Zookeeper 2.1.3 Master 2.1.4 RegionServer 2.1.5 HDFS 2.2 数据读写流程深度解析 2.2.1 数据写入流程 2.2.2 数据读取流…...
使用 AddressSanitizer 检测栈内存越界错误
一、概述 在 C/C 编程中,栈内存越界 是一种常见而危险的内存错误,通常发生在局部变量数组被访问时索引越界。由于栈空间的结构特点,越界写入可能覆盖返回地址或其他局部变量,导致不可预测的行为甚至程序崩溃。传统的调试手段难以定…...
【技巧】离线安装docker镜像的方法
回到目录 【技巧】离线安装docker镜像的方法 0. 为什么需要离线安装? 第一、 由于docker hub被墙,所以 拉取镜像需要配置国内镜像源 第二、有一些特殊行业服务器无法接入互联网,需要手工安装镜像 1. 可以正常拉取镜像服务器操作 服务器…...
vue实现与后台springboot传递数据【传值/取值 Axios 】
vue实现与后台springboot传递数据【传值/取值】 提示:帮帮志会陆续更新非常多的IT技术知识,希望分享的内容对您有用。本章分享的是node.js和vue的使用。前后每一小节的内容是存在的有:学习and理解的关联性。【帮帮志系列文章】:每…...
Git日志信息
Git日志信息 1. log log 命令用于查看 git 的各种日志信息,在使用 log 后,git 会进入 vim 模式,此时退出日志模式需要按下 q 键。可以通过小箭头来浏览未显示出来的内容。 1.1 查看日志信息 git log git log --prettyoneline #美观输出日…...
Linux操作系统从入门到实战(六)Linux开发工具(上)详细介绍什么是软件包管理器,Linux下如何进行软件和软件包的安装、升级与卸载
Linux操作系统从入门到实战(六)Linux开发工具(上)详细介绍什么是软件包管理器,Linux下如何进行软件和软件包的安装、升级与卸载 前言一、 软件包管理器1.1 传统安装方式的麻烦:从源代码说起1.2 软件包&…...
Java中的策略模式和模板方法模式
文章目录 1. 策略模式(Strategy Pattern)案例:支付方式选择 2. 模板方法模式(Template Method Pattern)案例:制作饮料流程 3. 策略模式 vs 模板方法模式4.总结 在Java中,策略模式和模板方法模式…...
C#里WPF使用触发器实现鼠标点击响应
在WPF里创建了一个自定义的用户控件, 要想在这个控件里实现鼠标的点击事件响应, 就需要添加事件触发器交互定义,如下代码: <ListView x:Name="ListViewMenu" ItemsSource="{Binding Path=SubItems}" Foreground="White" ScrollViewer.Ho…...
tensorflow-cpu
python3.8~3.12安装tensorflow-cpu 准备 创建并进入目录 mkdir tf-cpu cd tf-cpu编写测试代码 test_tensorflow.py import tensorflow as tf# 检查TensorFlow版本 print("\nTensorFlow version:", tf.__version__,end\n\n)# 创建一个简单的计算图并运行它 tensor …...
【AI提示词】PEST分析
提示说明 市场分析师专注于为企业、产品或国家提供PEST分析支持,以制定精准的市场战略。 提示词 # Role: PEST分析## Profile - language: 中文 - description: 市场分析师专注于为企业、产品或国家提供PEST分析支持,以制定精准的市场战略 - backgrou…...
42、在.NET 中能够将⾮静态的⽅法覆写成静态⽅法吗?
在.NET中,不能将非静态方法(实例方法)直接覆写(Override)为静态方法(Static Method)。以下是关键原因和解释: 1. 方法绑定的本质区别 实例方法:属于对象的实例…...
【嵌入式系统设计师(软考中级)】第三章:嵌入式系统软件基础知识——①软件及操作系统基础
文章目录 1. 嵌入式系统软件基础知识1.1 嵌入式软件分类1.2 嵌入式系统初始化1.3 无操作系统支持的嵌入式软件体系结构1.4 有操作系统支持的嵌入式软件体系结构1.5 嵌入式支撑软件 2. 嵌入式操作系统基础知识2.1 嵌入式操作系统基本概念2.2 处理器管理2.2.1 多道程序2.2.2 分区…...
cs224w课程学习笔记-第11课
cs224w课程学习笔记-第11课 知识图谱嵌入 前言一、知识图谱1、知识图谱特点2、关系类型 二、知识图谱嵌入1、嵌入核心思想2、嵌入模型2.1 嵌入模型transE1)、核心思想2)、训练步骤3)、模型表征能力 2.2 嵌入模型TransR2.3 DistMult嵌入模型1)、核心思想2)、表征能力 2.4 complE…...