You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nuitka打包Python项目遇锁获取失败问题求助

Nuitka打包Backend C阶段CacheLockException问题解决

问题描述

在Anaconda环境下使用Nuitka打包Python项目,执行命令:

python -m nuitka --standalone --show-memory --show-progress --follow-imports --nofollow-import-to=util --output-dir=out --include-data-dir=mdf=mdf --windows-icon-from-ico=./blur.ico --enable-plugin=numpy,pyside2 blur_exe.py

PASS 1和PASS 2阶段运行正常,但Backend C编译阶段出现锁获取失败报错:

Nuitka-Scons:INFO: Backend C compiler: cl (cl 14.2).
Backend C: 80.3%|████████████████████     | 1318/1642scons: *** [module.torch.optim._multi_tensor._functional.obj] CacheLockException : Failed to acquire lock Local\C--Users-JHU3SZH-AppData-Local-Nuitka-Nuitka-Cache-clcache-objects-bce after 10000ms; try setting CLCACHE_OBJECT_CACHE_TIMEOUT_MS environment variable to a larger value.
scons: *** [module.torch.optim._multi_tensor.adamw.obj] CacheLockException : Failed to acquire lock Local\C--Users-JHU3SZH-AppData-Local-Nuitka-Nuitka-Cache-clcache-objects-fb5 after 10000ms; try setting CLCACHE_OBJECT_CACHE_TIMEOUT_MS environment variable to a larger value.
scons: *** [module.torch.optim._multi_tensor.adadelta.obj] CacheLockException : Failed to acquire lock Local\C--Users-JHU3SZH-AppData-Local-Nuitka-Nuitka-Cache-clcache-objects-000 after 10000ms; try setting CLCACHE_OBJECT_CACHE_TIMEOUT_MS environment variable to a larger value.
scons: *** [module.torch.optim._multi_tensor.adagrad.obj] CacheLockException : Failed to acquire lock Local\C--Users-JHU3SZH-AppData-Local-Nuitka-Nuitka-Cache-clcache-objects-000 after 10000ms; try setting CLCACHE_OBJECT_CACHE_TIMEOUT_MS environment variable to a larger value.

已尝试关闭关联程序释放文件夹占用,问题仍未解决。

解决方案

1. 延长缓存锁超时时间

根据报错提示,增大CLCACHE_OBJECT_CACHE_TIMEOUT_MS环境变量值,给足够时间获取锁。在Anaconda终端中先执行:

set CLCACHE_OBJECT_CACHE_TIMEOUT_MS=30000

再重新运行原Nuitka打包命令。

2. 禁用clcache缓存

直接关闭clcache编译缓存,避免锁竞争问题。修改打包命令添加--disable-clcache参数:

python -m nuitka --standalone --show-memory --show-progress --follow-imports --nofollow-import-to=util --output-dir=out --include-data-dir=mdf=mdf --windows-icon-from-ico=./blur.ico --enable-plugin=numpy,pyside2 --disable-clcache blur_exe.py

3. 清理Nuitka缓存目录

手动删除残留的锁文件和缓存数据,路径为C:\Users\JHU3SZH\AppData\Local\Nuitka\Nuitka-Cache,删除后重新执行打包命令。

4. 强制单进程编译

多进程编译会增加锁竞争概率,添加--jobs=1参数强制单进程编译:

python -m nuitka --standalone --show-memory --show-progress --follow-imports --nofollow-import-to=util --output-dir=out --include-data-dir=mdf=mdf --windows-icon-from-ico=./blur.ico --enable-plugin=numpy,pyside2 --jobs=1 blur_exe.py

内容的提问来源于stack exchange,提问作者Huihua Jiang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 22:09:35