Windows系统PythonOCC-Core安装指南:预编译轮子方案详解
1. 项目概述为什么要在Windows上折腾PythonOCC-Core如果你是一个在Windows平台上搞CAD二次开发、三维几何处理或者CAE前处理的朋友那么PythonOCC-Core这个名字你大概率不会陌生。简单来说它是Open CASCADE TechnologyOCC这个强大几何内核的Python绑定让你能用Python脚本直接调用那些原本用C写的、极其复杂的几何建模和布尔运算功能。想象一下你用几行Python代码就能生成一个复杂的机械零件模型或者对导入的STEP文件进行自动化修复和分析这效率提升可不是一星半点。然而理想很丰满现实却很骨感。PythonOCC-Core在Windows下的安装长期以来都是劝退新人的第一道坎。它不像pip install numpy那样一键搞定而是涉及到编译环境、第三方依赖库的路径、Visual Studio版本匹配等一系列令人头疼的问题。网上能找到的教程要么年代久远要么步骤缺失照着做十有八九会卡在某个诡异的编译错误上。所以今天这篇内容就是把我自己以及团队在多个Windows系统从Win10到Win11从纯净安装到各种开发环境混杂的机器上反复折腾、最终成功部署PythonOCC-Core的经验整理成一份尽可能详尽、可复现的指南。我们的目标很明确让你在Windows上也能丝滑地拥有PythonOCC-Core这个强大的几何“瑞士军刀”。2. 核心思路与方案选型源码编译 vs 预编译轮子面对PythonOCC-Core的安装你主要有两条路可以走一是从源码开始编译二是寻找现成的预编译二进制包也就是Python社区常说的“轮子”。我们得先搞清楚两者的优劣才能做出最适合自己的选择。2.1 源码编译可控但繁琐从GitHub拉取PythonOCC-Core的源代码然后在本机用CMake和Visual Studio进行编译。这是最“正统”、理论上最可控的方式。优点版本最新你可以直接使用main分支的最新特性。深度定制可以调整编译选项比如是否启用TBB多线程支持、选择特定的OCC模块等。环境纯净所有依赖的OCC库也会被一并编译理论上与你的Python环境最匹配。缺点耗时极长完整编译OCC及其Python绑定在普通开发机上可能需要1-2个小时。依赖复杂需要提前安装并正确配置CMake、Visual Studio C构建工具、以及可能的第三方库如Tcl/Tk、FreeType等任何一环出错都会导致编译失败。对新手极不友好错误信息往往晦涩难懂排查成本高。2.2 使用预编译轮子快速但有限制一些社区贡献者或机构会将编译好的.whl文件发布在PyPI或其他平台上。这就是我们推荐的、对绝大多数用户更友好的方案。优点安装极快一条pip install命令几分钟内完成。开箱即用无需关心底层编译细节省时省力。依赖清晰通常轮子会声明其依赖的Python版本和系统环境降低了冲突概率。缺点版本可能滞后轮子的更新速度不一定跟得上源码仓库。平台和Python版本限制一个轮子通常只针对特定的Python版本如3.8, 3.9和系统架构win-amd64构建。你的环境必须与之严格匹配。功能可能裁剪为了控制体积预编译包可能未包含OCC的全部模块。我们的选择与理由 对于以应用开发、学习和快速原型为目的的绝大多数用户强烈推荐使用预编译轮子。它能让你在十分钟内跳过所有编译陷阱直接进入核心功能的学习和使用。把时间和精力节省下来去探索PythonOCC-Core强大的API远比和编译器搏斗更有价值。本教程也将以此为主线展开。我们会以一个经过验证的、可靠的预编译轮子源为例带你完成全过程。注意网络上流传的轮子质量参差不齐。务必从相对可靠的来源获取例如PythonOCC官方社区推荐、或GitHub Releases中由活跃维护者发布的资产。盲目安装来路不明的二进制文件存在安全风险。3. 环境准备打造坚实的安装地基在运行pip install之前我们需要确保Windows系统环境已经就绪。这一步是成功的关键很多安装失败都源于环境配置不当。3.1 Python环境管理与版本选择首先忘掉系统自带的Python。我们需要一个干净、可独立管理的Python环境。这里首推Miniconda或Anaconda。它们不仅能管理Python版本还能通过虚拟环境隔离项目依赖避免“依赖地狱”。安装Miniconda前往Miniconda官网下载适用于Windows的64位安装包Python 3.9或3.10版本根据你选择的轮子决定后续会说明。安装时务必勾选“Add Miniconda3 to my PATH environment variable”将Miniconda3添加到系统PATH。虽然这可能会与其他Python冲突但对于新手来说勾选上能避免后续很多找不到命令的问题。如果你精通环境变量管理可以不勾选后续通过Anaconda Prompt操作。创建并激活虚拟环境 打开“Anaconda Prompt”这是一个专为Conda配置的命令行执行以下命令# 创建一个名为occ_env的虚拟环境并指定Python版本为3.9 conda create -n occ_env python3.9 # 激活这个环境 conda activate occ_env激活后命令行的前缀会从(base)变为(occ_env)表示你已进入该独立环境。为什么选择Python 3.9这是目前截至撰写时社区预编译轮子支持最广泛的版本之一兼容性和稳定性经过大量测试。Python 3.10和3.11也有轮子但相对较少。稳妥起见我们从3.9开始。3.2 Visual C 可再发行组件包PythonOCC-Core的核心是编译好的C扩展模块.pyd文件。这些模块在运行时需要依赖Microsoft Visual C的运行时库。即使你不想编译也必须安装它。操作访问微软官方下载页面搜索“Visual C Redistributable for Visual Studio 2015, 2017 and 2019”。下载并安装vc_redist.x64.exe。这是x64应用程序的运行时必须安装。验证安装后通常无需特别配置。如果后续导入模块报错“找不到VCRUNTIME140.dll”等请回来检查此项是否安装成功。3.3 可选但推荐的依赖Tcl/Tk 与 FreeTypePythonOCC-Core的显示模块如Display依赖于Tcl/Tk来创建原生窗口进行3D模型渲染。虽然有些轮子可能打包了必要的DLL但单独安装一份可以避免很多显示相关的诡异问题。安装Tcl/Tk访问ActiveState的Tcl/Tk下载页面选择适用于Windows的8.6.x版本MSI安装包。下载后运行安装程序建议使用默认安装路径如C:\Tcl。安装程序会自动将Tcl/Tk的bin目录添加到系统PATH。关键步骤安装完成后你需要将Tcl/Tk的bin目录例如C:\Tcl\bin手动添加到系统环境变量PATH的最前面。这是因为Windows系统可能自带了旧版本的Tcl/Tk手动添加可以确保PythonOCC使用我们新安装的、版本正确的库。FreeType这是一个字体渲染引擎。如果你需要处理3D视图中的文本标注就需要它。同样可以从其官网下载预编译的Windows二进制包将bin目录添加到PATH。对于基础学习和大多数建模任务可以暂时跳过等需要时再安装。完成以上步骤后建议重启一次“Anaconda Prompt”以确保所有环境变量尤其是PATH的更改生效。4. 核心安装步骤获取与安装轮子环境准备好了现在进入最核心的安装环节。我们将从一个可靠的来源获取预编译的PythonOCC-Core轮子。4.1 寻找可靠的预编译轮子经过社区多年的发展目前有一个相对稳定的非官方预编译源来自GitHub用户tpaviot维护的仓库。他长期为PythonOCC项目提供CI/CD构建产生的轮子质量较高。我们可以直接使用pip从指定的索引URL安装。打开之前已激活occ_env环境的Anaconda Prompt执行以下命令pip install pythonocc-core -f https://github.com/tpaviot/pythonocc-core/releases/tag/7.7.0 --no-index命令拆解与解释pip install pythonocc-core告诉pip要安装的包名。-f https://...-f或--find-links参数指定一个查找轮子的链接。这里指向tpaviot发布的7.7.0版本Release页面。--no-index这个参数很重要它告诉pip不要从默认的PyPI索引去搜索pythonocc-core而是只在我们指定的-f链接里找。因为PyPI上的官方pythonocc-core包只是一个元数据包不包含实际代码直接pip install会失败。版本选择示例中使用了7.7.0这是OCC 7.7.0版本对应的Python绑定。你可以访问这个GitHub仓库的Releases页面查看是否有更新的版本如7.8.0。替换链接中的版本号即可。但请注意Python版本必须匹配。7.7.0的轮子通常提供了cp39Python 3.9的版本这也正是我们创建环境时选择Python 3.9的原因。4.2 安装过程解析运行上述命令后pip会从提供的链接获取轮子文件一个.whl文件然后自动处理依赖并安装。你会看到类似下面的输出Looking in links: https://github.com/tpaviot/pythonocc-core/releases/tag/7.7.0 Collecting pythonocc-core Downloading https://github.com/tpaviot/pythonocc-core/releases/download/7.7.0/pythonocc_core-7.7.0-cp39-cp39-win_amd64.whl (25.4 MB) ---------------------------------------- 25.4/25.4 MB 2.1 MB/s eta 0:00:00 Installing collected packages: pythonocc-core Successfully installed pythonocc-core-7.7.0看到Successfully installed恭喜你最核心的一步已经完成了这个轮子大约25MB包含了OCC核心库和Python绑定。4.3 验证安装是否成功安装完成后不要急着关掉命令行。我们需要进行一个简单的测试确保模块可以被正确导入并且基本功能正常。在同一个Anaconda Prompt (occ_env环境)中启动Python交互式环境python然后逐行输入以下Python代码进行测试# 测试1导入核心模块 from OCC.Core.BRepPrimAPI import BRepPrimAPI_MakeBox # 如果没有报错说明C扩展模块加载成功 print(模块导入成功) # 测试2创建一个简单的立方体 box BRepPrimAPI_MakeBox(10., 20., 30.).Shape() # 测试3获取几何信息 from OCC.Core.BRep import BRep_Tool from OCC.Core.TopLoc import TopLoc_Location # 这里只是尝试获取一个位置不报错即可 loc TopLoc_Location() print(基本几何操作正常。) # 退出Python环境 exit()如果以上代码都能顺利执行并打印出相应信息那么你的PythonOCC-Core核心功能就已经安装成功了。5. 显示环境配置与测试让3D模型“看得见”PythonOCC-Core本身只负责几何计算要将模型显示出来需要一个GUI后端。最常用的是基于Tkinter的Display模块这也是为什么我们之前要安装Tcl/Tk。5.1 安装显示后端在occ_env环境中运行pip install pyqt5或者如果你更喜欢Tkinter更轻量但功能相对简单pip install tk实际上pythonocc-core的轮子可能已经包含了显示所需的基本依赖。安装pyqt5是为了使用更强大的PyQt5作为显示后端它提供了更好的交互性和更丰富的控件。我们以PyQt5为例。5.2 运行一个完整的显示示例创建一个新的Python脚本文件例如test_display.py内容如下import sys from OCC.Core.gp import gp_Pnt from OCC.Core.BRepPrimAPI import BRepPrimAPI_MakeBox from OCC.Display.SimpleGui import init_display # 初始化显示使用qt-pyqt5后端 display, start_display, add_menu, add_function_to_menu init_display(qt-pyqt5) # 创建一个立方体 box BRepPrimAPI_MakeBox(10., 20., 30.).Shape() # 将立方体添加到显示器中 display.DisplayShape(box, updateTrue) # 设置视图等轴测并适合全部 display.View_Iso() display.FitAll() # 启动GUI事件循环 start_display()保存文件后在occ_env环境中运行python test_display.py如果一切配置正确你应该会看到一个弹出的窗口里面显示着一个灰色的立方体线框模型。你可以用鼠标进行旋转、缩放和平移操作。如果窗口没有弹出或报错检查Tcl/Tk路径最常见的错误是_tkinter模块找不到Tcl库。确认Tcl/Tk的bin目录包含tcl86t.dll和tk86t.dll已在系统PATH中且路径正确。检查后端名称init_display的参数可以是qt-pyqt5,qt-pyside2,wx,tk等。确保你安装了对应的GUI库如pip install pyqt5并且参数拼写正确。以管理员身份运行通常不需要。但如果你的环境变量修改后未对当前命令行生效可以尝试用管理员身份打开新的Anaconda Prompt再激活环境运行。6. 常见问题与深度排错指南即使按照教程一步步来也可能遇到各种“坑”。这里汇总了我和同事们踩过的主要坑点及其解决方案。6.1 导入错误DLL加载失败错误信息ImportError: DLL load failed while importing ...或OSError: [WinError 126] 找不到指定的模块。问题根源Python在加载C扩展模块.pyd文件时找不到该模块所依赖的其他Windows DLL文件尤其是Visual C运行时库或OCC自身的依赖库。解决方案确认VC运行时已安装这是最常见的原因。请返回章节3.2确保安装了正确版本x64的VC可再发行组件包。可以尝试重新安装。使用Dependency Walker工具这是一个经典工具可以分析.pyd文件依赖哪些DLL以及哪些DLL找不到。将出错的.pyd文件通常在Lib\site-packages\OCC\Core下拖入Dependency Walker查看标有黄色问号或红色叉号的DLL。根据缺失的DLL名称去搜索并放置到合适路径通常是系统PATH包含的目录或者与.pyd文件同一目录。检查轮子完整性有可能下载的轮子文件损坏。尝试删除pip缓存%LocalAppData%\pip\cache并重新安装。6.2 显示问题黑窗口、闪退或无响应错误现象运行显示示例时窗口一片黑或者窗口一闪而过或者程序无响应。问题根源几乎都是GUI后端PyQt5, Tkinter与Tcl/Tk或OpenGL驱动之间的兼容性问题。解决方案强制使用软件渲染在调用init_display之前设置环境变量可能有用。尝试在代码开头添加import os os.environ[QT_OPENGL] software # 对于PyQt5强制使用软件渲染而非硬件OpenGL更换显示后端如果使用qt-pyqt5有问题尝试换成tk。display, start_display, _, _ init_display(tk)记得pip install tk。Tkinter虽然简陋但极其稳定。更新显卡驱动过时的显卡驱动可能导致OpenGL上下文创建失败。更新到最新稳定版驱动。检查Tcl/Tk冲突确保系统PATH中只有一个主要版本的Tcl/Tk的bin目录。如果有多个移除旧的或不需要的。6.3 性能问题与内存管理问题描述处理复杂模型时程序运行缓慢或内存占用飙升直至崩溃。核心原因PythonOCC-Core是C库的绑定频繁在Python和C之间传递大量几何数据会产生开销。此外OCC本身的某些算法如复杂布尔运算、网格化就是计算密集型。优化策略批量操作尽量减少在Python循环中调用单个OCC API的次数。如果可能尝试在C层面构思算法或者利用OCC提供的复合功能。及时释放资源OCC对象有复杂的内部引用计数。对于明确不再需要的大型TopoDS_Shape对象可以尝试将其赋值为None并手动调用gc.collect()来提示垃圾回收。但这并非绝对有效因为底层C对象的内存管理是独立的。使用Display的智能更新在交互式显示中频繁调用display.DisplayShape()并updateTrue会触发重绘非常耗资源。可以先显示所有形状updateFalse最后再调用一次display.Repaint()。考虑使用occt项目如果你对性能有极致要求可以关注occt项目Open CASCADE Technology的官方Python绑定较新。但它的API与pythonocc-core不完全相同生态系统也还在发展中。6.4 版本兼容性矩阵混乱问题描述想升级Python版本如从3.9到3.11或者升级OCC版本发现找不到对应的轮子。现状分析PythonOCC-Core的预编译资源确实依赖于社区志愿者的贡献。维护者tpaviot的CI通常覆盖主流Python版本如3.8, 3.9, 3.10和OCC版本。但更新不一定及时。应对建议固定工作环境对于生产或重要项目一旦找到一个稳定可用的组合如Python 3.9 OCC 7.7.0就使用Conda环境将其“冻结”。不要轻易升级除非新版本提供了你必需的功能或修复。自行编译如果必须使用新版本那么最终方案只能是源码编译。这需要准备好Visual Studio 2019或2022CMake以及足够的耐心。可以参考PythonOCC-Core官方GitHub仓库的README.md和CI配置文件中的编译步骤。寻求商业支持如果用于商业项目且对稳定性和技术支持有要求可以考虑咨询提供商业OCC发行版和支持的公司他们可能提供更完善的Python绑定和安装包。安装和配置只是第一步PythonOCC-Core的真正威力在于其庞大的API。接下来你可能会需要查阅其官方文档虽然不太完善或者直接阅读其源代码中的示例examples目录。多动手实践从创建基本几何体开始逐步尝试布尔运算、文件导入导出STEP, IGES、网格化等操作慢慢就能驾驭这个强大的工具了。记住遇到问题多去GitHub的Issues页面和相关的论坛搜索你踩的坑很可能别人已经踩过并提供了解决方案。

相关新闻

密码重置功能全解析:使用mern-advanced-auth构建安全的用户找回流程 [特殊字符]

密码重置功能全解析:使用mern-advanced-auth构建安全的用户找回流程 [特殊字符]

密码重置功能全解析:使用mern-advanced-auth构建安全的用户找回流程 🔐 【免费下载链接】mern-advanced-auth Authentication Simplified - Project Based Tutorial 项目地址: https://gitcode.com/gh_mirrors/me/mern-advanced-auth 在现代化的W…

2026/10/13 7:53:11 阅读更多 →
超越普通AR应用:TheParallaxView如何利用面部追踪技术创造独特视觉体验

超越普通AR应用:TheParallaxView如何利用面部追踪技术创造独特视觉体验

超越普通AR应用:TheParallaxView如何利用面部追踪技术创造独特视觉体验 【免费下载链接】TheParallaxView Depth illusion by 3D head tracking on iPhone X 项目地址: https://gitcode.com/gh_mirrors/th/TheParallaxView 你是否曾想过,手机屏幕…

2026/10/8 16:15:23 阅读更多 →
Node.js Express框架全栈开发实战指南

Node.js Express框架全栈开发实战指南

1. 项目概述与准备工作 Node.js全栈开发已经成为现代Web开发的主流选择之一。Express作为Node.js最流行的Web框架,以其轻量级、灵活性和丰富的中间件生态著称。本文将带你从零开始构建一个功能完善的Express项目,涵盖从环境搭建到部署上线的完整流程。 …

2026/10/13 13:25:35 阅读更多 →

最新新闻

利用阿里云alidns实现DDNS动态解析:公网IP变化自动更新教程

利用阿里云alidns实现DDNS动态解析:公网IP变化自动更新教程

家里的宽带每隔一段时间公网IP就会变,尤其是不满运营商最长在线时长之后强制断线重拨的那种,老域名解析记录一直是旧IP,访问家里NAS或者是远程桌面全都得靠临时记IP来连,烦得不行。后来我把域名托管到了阿里云云解析,直…

2026/10/13 22:17:56 阅读更多 →
电子签章选型必读:法律效力、防篡改与集成的6个关键点

电子签章选型必读:法律效力、防篡改与集成的6个关键点

很多企业在做流程线上化的时候,最容易忽略的一环就是“最后签字盖章怎么弄”。等合同审批流程都跑通了,业务部门拿着实体章站在打印机旁边,才发现线上化根本没有真正闭环。这两年电子签章已经是很多公司的刚需选项,但选型负责人对…

2026/10/13 22:17:56 阅读更多 →
论文摘要与结论的AI急救:3分钟结构化提炼实战指南

论文摘要与结论的AI急救:3分钟结构化提炼实战指南

论文写得七七八八,结果卡在摘要和结论上干瞪眼,这事儿我太熟了。数据显示,超过六成的作者在投稿前最后一晚还在改摘要——不是因为写得不好,而是压根不知道摘要该写什么、结论收在哪。审稿人最先看的就是这两块,但很多…

2026/10/13 22:17:56 阅读更多 →
C++与OpenCV实现虹膜分割:从霍夫圆检测到掩膜生成与参数调优

C++与OpenCV实现虹膜分割:从霍夫圆检测到掩膜生成与参数调优

简介:这份资源聚焦虹膜分割与虹膜提取的工程实现,面向具备一定图像处理基础、希望用C与OpenCV落地生物特征识别项目的开发者与学习者。包内提供可直接编译运行的Visual Studio工程,核心代码以cpp源文件形式给出,并配有测试图片与一…

2026/10/13 22:17:56 阅读更多 →
近视调节力训练与保护全攻略

近视调节力训练与保护全攻略

1. 近视困扰的本质解析近视人群的日常困扰远比视力表上的数字复杂得多。早晨醒来第一件事摸眼镜,吃火锅时镜片起雾,运动时框架不断下滑,这些生活细节构成了近视者的共同记忆。但大多数人不知道的是,除了眼轴长度这个硬指标外&…

2026/10/13 22:17:56 阅读更多 →
Agent技能工程:可测试、可编排、可治理的智能体落地实践

Agent技能工程:可测试、可编排、可治理的智能体落地实践

1. “agent-skills”不是新词,而是智能体工程落地的临界信号最近在几个技术社区和内部项目复盘会上,反复看到“agent-skills”这个组合被开发者随手写在白板角落、贴在PR描述里,甚至出现在某高校AI课程实验手册的标题栏——但它既不是某个开源…

2026/10/13 22:16:55 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 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/13 22:01:27 阅读更多 →
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/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →