WinPython 3.8.3.0 cod 版本解析:Flavor 体系、包变更清单与 Changelog 生成机制
开发工具构建工具CLI包管理器【免费下载链接】winpythonA free Python-distribution for Windows platform, including prebuilt packages for Scientific Python.项目地址https://gitcode.com/gh_mirrors/wi/winpython点击查看免费下载WinPython 是面向 Windows 平台的免费 Python 发行版cod是其众多 flavor风味变体之一本篇文章以 WinPythoncod-64bit-3.8.3.0_History.md 为主线讲解该版本相对于 3.8.2.0cod 的全部包变更新增、升级与移除的 Tools 和 Python 包。同时结合仓库中的构建脚本与 wppm 工具链说明这类 History 文档是如何自动生成的——读者读完后既能逐包掌握 3.8.3.0cod 的依赖变化全貌也能理解 WinPython 发行版的 flavor 构建与 changelog 生产机制。一、背景WinPython 的 flavor 与版本命名WinPython 仓库中的 changelogs 目录按“WinPythonFlavor-位数bit-版本号[._History].md”规则组织文件。WinPythoncod-64bit-3.8.3.0_History.md对应的是64 位、名为cod的 flavor、版本 3.8.3.0的变更历史。flavorWinPython 的“风味变体”不同 flavor 携带不同的预构建包集合。当前仓库的 winpython_builds.toml 中定义了dot、dotf、slim、slimf等 flavor每个 flavor 拥有独立的 requirements 文件与 source_dirs如[flavors.dot]对应dot_requirements.txt与packages.win-amd64。cod属于历史 flavor其包集合以“科学计算 开发工具”为特色。版本号3.8.3.0表示 Python 3.8.3 的发行版本。文档开篇即注明The following changes were made to WinPython-64bit distribution since version 3.8.2.0cod即对比基线是同 flavor 的上一版本 3.8.2.0cod。值得注意的是变更历史_History后缀与完整包索引无_History后缀如 WinPythoncod-64bit-3.8.3.0.md是两类不同文档前者只记录“相对上一版的变化”后者列出该版本全部包含的包。本篇文章聚焦前者同时以后者作为核对全集的事实依据。二、Tools 变化编辑器与 JavaScript 工具链更新3.8.3.0cod 的 Tools随发行版附带的非 Python 工具变化如下新增工具版本说明VSCode1.45.1.0微软出品的源码编辑器source-code editor developed by Microsoft升级工具旧版本 → 新版本说明Nodejsv12.16.1 → v12.16.3基于 Chrome 的 V8 引擎的 JavaScript 运行时npmjs6.13.4 → 6.14.4JavaScript 的包管理器从版本演进看本轮 Tools 的变化呈现两个特征一是将 VSCode 1.45.1.0 纳入发行版使得cod发行版开箱即得一个现代编辑器二是 Node.js 与 npm 双双小幅升级到安全修复版本。完整清单可见 WinPythoncod-64bit-3.8.3.0.md 的 Tools 表格。三、新增 Python 包24 个新成员本轮为cod发行版新增了 24 个 Python 包按功能领域归类如下3.1 Web 开发与 ASGI 生态asgiref3.2.7ASGI 规范、辅助代码与适配器是 Django/Quart 等异步框架的基础设施flask_mail0.9.1Flask 发送邮件扩展flask_session0.3.2为 Flask 应用添加服务端会话支持flask_sqlalchemy2.4.1为 Flask 应用添加 SQLAlchemy 支持python_dotenv0.13.0在开发与部署中为 Django/Flask 应用加载.env文件httpie2.1.0面向人类的 cURL 风格 CLI HTTP 客户端。3.2 地理空间与科学可视化cartopy0.18.0带 Matplotlib 支持的制图 Python 库用于地理可视化geoviews1.8.1用于天气、气候、遥感研究中地理/气象/海洋数据集的探索与可视化pyshp2.1.0纯 Python 读写 ESRI Shapefile 格式tifffile2020.5.11读写 TIFF 文件imagecodecs2020.2.18图像变换、压缩与解压编解码器。3.3 数值优化、并发与机器学习nlopt2.6.2非线性优化库封装全局/局部、约束/无约束的多种优化算法tbb2019.0Intel Threading Building BlocksIntel TBB 并行库threadpoolctl2.0.0控制各库底层线程池的上下文管理器umap_learn0.4.3Uniform Manifold Approximation and ProjectionUMAP 降维rpy23.4.0.dev0Python 与 R 语言的接口嵌入式 Routcome1.0.1捕获 Python 函数调用的结果nest_asyncio1.3.3修补 asyncio 以支持嵌套事件循环sniffio1.1.0探测代码当前运行在哪个异步库之下trio0.15.1友好的 Python 异步并发与 I/O 库trio_asyncio0.11.0在 Trio 之上重新实现 asyncio 主循环distlib0.3.0发行版工具库filelock3.0.12跨平台的独立文件锁lz43.0.2LZ4 压缩的 Python 绑定mergedeep1.3.0深度合并函数pipdeptree0.13.2命令行显示包依赖树virtualenv20.0.20虚拟 Python 环境构建器cachelib0.1统一 API 接口的缓存库集合。说明历史文档将上述部分条目统列于 New packages 之下本文按主题归类便于阅读条目数量与原文完全一致未增删。四、升级的 Python 包关键组件全线刷新本轮共有 100 个包升级其中对科学计算与开发工作流影响最大的包括4.1 科学计算核心包旧版本 → 新版本说明Python3.8.2 → 3.8.3Python 解释器本体含标准库numpy1.18.2mkl → 1.18.4mkl数组计算基础库带 MKL 加速scikit_learn0.22.2.post1 → 0.23.1机器学习与数据挖掘工具集scikit_image0.16.2 → 0.17.2SciPy 图像处理例程scipy1.4.1科学计算库本轮未变版本仍为 1.4.1numba0.48.0 → 0.49.1基于 LLVM 的 Python 编译llvmlite0.31.0 → 0.32.1LLVM 的轻量封装dask2.12.0 → 2.16.0并行 PyData 任务调度distributed2.12.0 → 2.16.0Dask 分布式调度器pyarrow0.16.0 → 0.17.1Apache Arrow 的 Python 库astropy4.0 → 4.0.1天文学工具xarray0.15.0 → 0.15.1N 维带标签数组与数据集4.2 数据可视化altair4.0.1 → 4.1.0声明式统计可视化bokeh2.0.0 → 2.0.2浏览器交互绘图holoviews1.13.0b12 → 1.13.2数据注解式可视化plotly4.5.4 → 4.7.1开源交互式绘图库seaborn0.10.0 → 0.10.1统计数据可视化matplotlib3.2.1本轮未变wordcloud1.6.0 → 1.7.0词云生成器4.3 Web 与异步框架flask1.1.1 → 1.1.2flask_restx0.1.0 → 0.2.0文档化 API 开发框架flask_accepts0.16.2 → 0.17.2quart0.11.3 → 0.12.0与 Flask 同 API 的 ASGI 微框架hypercorn0.9.2 → 0.9.5ASGI 服务器uvicorn0.11.3 → 0.11.5高速 ASGI 服务器werkzeug1.0.0 → 1.0.1WSGI 综合工具库redis3.4.1 → 3.5.2Redis 客户端sqlalchemy1.3.15 → 1.3.17数据库抽象层4.4 Jupyter 生态与开发工具jupyterlab2.0.1 → 2.1.2、jupyterlab_server1.0.7 → 1.1.3、jupyterlab_pygments0.1.0 → 0.1.1ipykernel5.1.4 → 5.2.1、ipython7.13.0 → 7.14.0、jupyter_client6.1.0 → 6.1.3spyder4.1.1 → 4.1.3、spyder_kernels1.9.0 → 1.9.1jedi0.15.2 → 0.17.0自动补全核心、parso0.6.2 → 0.7.0pylint2.4.4 → 2.5.2、pyflakes2.1.1 → 2.2.0、pycodestyle2.5.0 → 2.6.0pip20.0.2 → 20.1.1、setuptools46.0.0 → 46.4.0sphinx2.4.4 → 3.0.34.5 地理空间与图像rasterio1.1.3 → 1.1.4栅格 I/O、pyproj2.6.0 → 2.6.1.post1坐标投影folium0.10.1 → 0.11.0Leaflet 地图、ipyleaflet0.12.3 → 0.12.6pillow7.0.0 → 7.1.2PIL 分支、imageio_ffmpeg0.4.1 → 0.4.2moviepy1.0.1 → 1.0.3视频编辑其余升级包还包括beautifulsoup4 4.8.2 → 4.9.0、cryptography 2.8 → 2.9.2、cvxopt 1.2.4 → 1.2.5、cvxpy 1.0.28 → 1.0.31、cython 0.29.15 → 0.29.19、fastparquet 0.3.3 → 0.4.0、hypothesis 5.6.0 → 5.14.0、joblib 0.14.1 → 0.15.1、lxml 4.5.0 → 4.5.1、marshmallow 3.5.1 → 3.6.0、nltk 3.4.5 → 3.5、pandas_datareader 0.8.1、papermill 2.0.0 → 2.1.1、pyqt5 5.14.1 → 5.14.2、pytz 2019.3 → 2020.1、regex 2020.2.20 → 2020.5.14、simpy 3.0.12 → 4.0.1、tqdm 4.43.0 → 4.46.0、tzlocal 1.5.1 → 2.1、xlwings 0.18.0 → 0.19.4以及 winpython 工具自身 2.3.20200319 → 2.4.20200425 等完整清单请查阅原文 WinPythoncod-64bit-3.8.3.0_History.md。五、移除的 Python 包本轮移除 3 个包包版本说明importlib_metadata1.5.0读取 Python 包元数据portalocker1.5.2封装 portalocker 配方以便使用zipp3.1.0pathlib 兼容的 zip 文件对象包装器这三者在 Python 3.8 时代通常是importlib_metadata的传递依赖。移除后对应功能由标准库或升级后的依赖链覆盖Python 3.8 起标准库已内置importlib.metadatazipp与portalocker亦随依赖重构不再需要这也是发行版精简依赖的常见做法。六、深入原理History 文档是如何自动生成的这份 History 文档并非人工维护而是由仓库构建流水线在每次构建发行版时自动产出。理解其生成机制有助于正确解读文档内容。6.1 生成链路一构建时自动对比build_winpython.py在 winpython/build_winpython.py 中构建流程的 Step 7“generate changelog”执行如下动作组装版本标识changelog_version f{winpyver2}{args.release_level}再拼接 flavor 与位数得到两个文件名WinPython{flavor}-{arch}bit-{version}.md完整包索引WinPython{flavor}-{arch}bit-{version}_History.md变更历史调用wppm.Distribution().generate_package_index_markdown()生成完整包索引 Markdown写入 changelogs 目录调用diff.compare_package_indexes(...)与上一版本对比生成_History.md——这正是本篇文章的主体来源。其中 generate_package_index_markdown 通过get_package_index_data采集三类数据tools来自utils.get_installed_tools、packages来自piptree.PipData().pip_list(fullTrue)扫描已安装包、wheelhouse扫描wheelhouse/included.wheels目录再以render_markdown_for_list渲染为Name | Version | Description表格——这也是 WinPythoncod-64bit-3.8.3.0.md 中完整包列表的格式来源。6.2 生成链路二diff 对比逻辑wppm/diff.py对比实现 的核心是compare_packages(old, new)先将包名做规范化k.replace(-, _).lower()避免numpy与numpy-等命名差异造成误判added新索引有、旧索引无 → 记入 “New packages”upgraded两边都有但版本不同 → 记入 “Upgraded packages”格式为旧版本 → 新版本removed旧索引有、新索引无 → 记入 “Removed packages”。compare_package_indexes还负责版本定位find_previous_version在 changelogs 目录中解析所有历史版本文件名即版本号来源自动挑选“小于目标版本的最大版本”作为对比基线。例如本文件标题为 “since version 3.8.2.0cod”正是该逻辑自动选中的上一版本。6.3 手动复现wppm -diff 命令无需构建发行版任何用户都可以用仓库自带的 wppm 工具手动对比两份索引$ python -m wppm.diff WinPythoncod-64bit-3.8.3.0.md WinPythoncod-64bit-3.8.2.0.md或按版本号模式$ python -m wppm.diff 3.8.3.0 3.8.2.0 . cod 64在 Windows 上也可直接使用发行版内的wppm -diff命令。注意Windows 控制台默认编码是 cp1252而升级条目中包含→箭头字符因此 diff.py 入口 会先将 stdout 重配置为 UTF-8避免中文/箭头字符导致解码崩溃。七、flavor 构建机制与“cod 从何而来”当前仓库 winpython_builds.toml 定义了 flavor 的通用机制每个 flavor 是一个(python, flavor)对一切路径均由配置推导basedir {root_dir_for_builds}\bd{python} requirements {basedir}\{flavor requirements} source_dirs {basedir}\{flavor source_dirs} wheelhousereq {basedir}\{flavor wheelhousereq} toolsdirs {root_dir_for_builds}\{flavor toolsdirs}build_winpython_meta.py 中的expand_builds会读取[pythons.3XX]与[flavors.*]配置展开出每个构建命令行支持315:slim这样的选择语法。cod是历史上的一个 flavor——当时的版本中cod表示包含 CodSpyder/科学计算 开发工具包集合的发行版其 requirements 由当时的构建配置指定。虽然当前仓库的 TOML 已不再列cod现役 flavor 为 dot/dotf/slim/slimf但 changelogs 目录完整保留了这个 flavor 的历史索引与变更记录仍可读、可对比。从源码结构看一个发行版的 flavor 定义主要影响三件事装哪些包requirements 文件、从哪个 wheel 目录找包source_dirs/find_links、附带哪些 Toolstoolsdirs。因此不同 flavor 的 History 文档天然不同解读时必须注意 flavor 前缀。八、结论与阅读建议3.8.3.0cod 是一次典型的“季度性大版本刷新”核心解释器升级至 Python 3.8.3新增 24 个包地理可视化 cartopy/geoviews、Web 后端 flask_mail/flask_session、并发 trio 家族、优化库 nlopt 等升级 100 包numpy/scikit-learn/numba 等科学计算栈、JupyterLab 2.1.2、Spyder 4.1.3并精简掉 3 个不再需要的传递依赖。阅读与引用建议查全量看 WinPythoncod-64bit-3.8.3.0.md该版本全部包清单查变化看本文所依据的 WinPythoncod-64bit-3.8.3.0_History.md自行对比任意两个版本用python -m wppm.diff 旧索引.md 新索引.md或wppm -diff了解构建配置阅读 winpython_builds.toml 与 build_winpython_meta.py理解工具链深入 wppm/diff.py 与 wppm/wppm.py 查看对比与索引渲染实现。注本文涉及的版本与包信息均以当前仓库 changelogs 目录中实际记录为准适用于历史发行版的解读与对比现役版本的构建请以仓库根目录的 winpython_builds.toml 为准。赞分享开发工具构建工具CLI包管理器【免费下载链接】winpythonA free Python-distribution for Windows platform, including prebuilt packages for Scientific Python.项目地址https://gitcode.com/gh_mirrors/wi/winpython点击查看免费下载相关推荐WinPython cod 变体 3.8.0.0 完整解析包清单、flavor 机制与 changelog 生成原理WinPython cod 变体 3.8.0.0 完整解析包清单、flavor 机制与 changelog 生成原理 本篇文章以仓库 changelogs 目开发工具构建工具CLI包管理器WinPython 3.6.6.2 Zero 发行版全解析包清单、版本变更与 changelog 生成机制WinPython 3.6.6.2 Zero 发行版全解析包清单、版本变更与 changelog 生成机制 WinPython 3.6.6.2Zero 是 W开发工具构建工具CLI包管理器WinPython Slim 3.5.1.1 版本解析变更历史、新增包清单与 Changelog 生成机制WinPython Slim 3.5.1.1 版本解析变更历史、新增包清单与 Changelog 生成机制 WinPython 是一款面向 Windows 平开发工具构建工具CLI包管理器上一篇终极指南如何利用StarVector实现训练数据隐私保护——差分隐私技术全解析下一篇Dawarich数据保留策略自动清理过期位置记录的方法创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

markdownlint MD009 规则进阶:用 `code_blocks: true` 检查代码块内的行尾空白

markdownlint MD009 规则进阶:用 `code_blocks: true` 检查代码块内的行尾空白

开发工具代码质量Lint静态分析 【免费下载链接】markdownlint A Node.js style checker and lint tool for Markdown/CommonMark files. 项目地址: https://gitcode.com/gh_mirrors/ma/markdownlint 点击查看 免费下载 本文以 markdownlint 仓库中的场景测试文档 t…

2026/10/17 13:18:33 阅读更多 →
AI安全网关怎么选?2026六大能力模块拆解与13家国内外厂商图谱

AI安全网关怎么选?2026六大能力模块拆解与13家国内外厂商图谱

厂商信息为公开资料整理,截至 2026 年 10 月;能力描述以各厂商公开资料为准,排列不构成排名。法规条款以官方发布文本为准。2023 年春天,三星半导体部门的工程师为了排查代码问题,把一段源代码粘贴进了 ChatGPT。几周之…

2026/10/17 10:56:35 阅读更多 →
MimiClaw:在ESP32-S3上跑通MCU级AI智能体的感知决策闭环

MimiClaw:在ESP32-S3上跑通MCU级AI智能体的感知决策闭环

“MimiClaw”这名字一出来,我第一反应是玩具出新款了,或者某个智能音箱换了壳。直到把项目仓库拉下来、把固件烧进一块 ESP32-S3 开发板,我才意识到自己最开始的理解偏了方向——它不是“在 MCU 上跑了个能聊天的模型”,而是把一整…

2026/10/17 13:18:47 阅读更多 →

最新新闻

从RNN到Transformer:Attention机制原理与工程实践

从RNN到Transformer:Attention机制原理与工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 13:18:27 阅读更多 →
AIGC检测时代,本科生论文如何用降AI率工具与WPS AI写出自然人风格?

AIGC检测时代,本科生论文如何用降AI率工具与WPS AI写出自然人风格?

2. 写在最前面:这个标题,戳中了多少本科生的痛点 “导师又让重写”——这几个字,我估计在座各位本科阶段都见过。尤其是理工科写课程报告、文科写结课论文的时候,辛苦攒出来的几千字,导师一句“语言不够凝练”“表达太…

2026/10/17 13:18:27 阅读更多 →
感知机原理与三种Python实现:NumPy、scikit-learn与PyTorch可视化对比

感知机原理与三种Python实现:NumPy、scikit-learn与PyTorch可视化对比

说到感知机算法原理,我见过很多开发者的第一反应是:这算法不是已经被深度学习淘汰了吗?实际情况恰恰相反。感知机虽然简单到只有一行决策规则,但它几乎是理解一切神经网络的基础原型。我第一次认真手写感知机代码时,最…

2026/10/17 13:18:27 阅读更多 →
Java集合框架核心解析:从ArrayList到HashMap的底层原理与习题自证法

Java集合框架核心解析:从ArrayList到HashMap的底层原理与习题自证法

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 13:18:27 阅读更多 →
Claude Code 自定义模型切换痛点与 CC Switch 配置管理实践

Claude Code 自定义模型切换痛点与 CC Switch 配置管理实践

很多人一开始接触 Claude Code 的时候都会问:这玩意儿是不是只能用自带的模型?实际上完全可以把它接成自定义模型,只要你愿意处理那一堆破配置。我之前就干过这种蠢事:为了在家里的开发机上把 Claude Code 接到某个支持自定义API的…

2026/10/17 13:18:27 阅读更多 →
基于MP2642GR-Z与STM32F446RE的两串电池被动均衡方案设计与实现

基于MP2642GR-Z与STM32F446RE的两串电池被动均衡方案设计与实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 13:17:26 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →