#6450 [Errno 2] No such file or directory: 'nul',Traceback (most recent call last): File

27.156.**6 Posted at: 2 hours ago

[Errno 2] No such file or directory: 'nul',Traceback (most recent call last):
File "videotrans\util\checkgpu.py", line 15, in run
File "videotrans\util\gpus.py", line 24, in getset_gpu
File "E:\win-pyvideotrans-v4.08-0802\_internal\torch\__init__.py", line 2126, in

from torch import _VF as _VF, functional as functional  # usort: skip

File "E:\win-pyvideotrans-v4.08-0802\_internal\torch\functional.py", line 8, in

import torch.nn.functional as F

File "E:\win-pyvideotrans-v4.08-0802\_internal\torch\nn\__init__.py", line 8, in

from torch.nn.modules import *  # usort: skip # noqa: F403

File "E:\win-pyvideotrans-v4.08-0802\_internal\torch\nn\modules\__init__.py", line 1, in

from .module import Module  # usort: skip

File "E:\win-pyvideotrans-v4.08-0802\_internal\torch\nn\modules\module.py", line 17, in

from torch.utils._python_dispatch import is_traceable_wrapper_subclass

File "E:\win-pyvideotrans-v4.08-0802\_internal\torch\utils\__init__.
......

File "E:\win-pyvideotrans-v4.08-0802\_internal\torch\utils\data\dataloader.py", line 22, in

import torch.utils.data.graph_settings

File "E:\win-pyvideotrans-v4.08-0802\_internal\torch\utils\data\graph_settings.py", line 8, in

from torch.utils.data.datapipes.iter.sharding import (

File "E:\win-pyvideotrans-v4.08-0802\_internal\torch\utils\data\datapipes\__init__.py", line 1, in

from torch.utils.data.datapipes import dataframe as dataframe, iter as iter, map as map

File "E:\win-pyvideotrans-v4.08-0802\_internal\torch\utils\data\datapipes\dataframe\__init__.py", line 1, in

from torch.utils.data.datapipes.dataframe.dataframes import (

File "E:\win-pyvideotrans-v4.08-0802\_internal\torch\utils\data\datapipes\dataframe\dataframes.py", line 4, in

from torch.utils.data.datapipes._decorator import functional_datapipe

File "E:\win-pyvideotrans-v4.08-0802\_internal\torch\utils\data\datapipes\_decorator.py", line 7, in

from torch.utils.data.datapipes.datapipe import IterDataPipe, MapDataPipe

File "E:\win-pyvideotrans-v4.08-0802\_internal\torch\utils\data\datapipes\datapipe.py", line 17, in

dill = import_dill()

File "E:\win-pyvideotrans-v4.08-0802\_internal\torch\utils\_import_utils.py", line 37, in import_dill

import dill

File "", line 1027, in _find_and_load
File "", line 1006, in _find_and_load_unlocked
File "", line 688, in _load_unlocked
File "pyimod02_importers.py", line 457, in exec_module
File "dill\__init__.py", line 26, in
File "", line 1027, in _find_and_load
File "", line 1006, in _find_and_load_unlocked
File "", line 688, in _load_unlocked
File "pyimod02_importers.py", line 457, in exec_module
File "dill\_dill.py", line 163, in
File "dill\_dill.py", line 156, in get_file_type
FileNotFoundError: [Errno 2] No such file or directory: 'nul'


=
system:Windows-10-10.0.22621-SP0
version:v4.08
frozen:True
language:zh
root_dir:E:/win-pyvideotrans-v4.08-0802

12 Replies

这是 dill 库在 Windows 下无法访问系统空设备文件 nul 导致的启动崩溃,通常在 GPU 检测阶段触发,核心原因不是 pyVideoTrans 软件逻辑,而是系统环境或安全软件拦截。

请按以下顺序排查:

  1. 将整个软件目录加入杀毒软件/Defender 的信任白名单,并暂时退出 360、腾讯管家、火绒等,再重新启动 sp.exe
  2. 右键 sp.exe 选择“以管理员身份运行”。
  3. 确认解压完整:当前路径是 E:/win-pyvideotrans-v4.08-0802,请确认这是从 2.7GB 完整包解压出来的,而不是仅覆盖补丁包;若不确定,请重新下载完整包并解压到简单英文路径(如 E:\pyVideoTrans)。
  4. 检查系统环境变量 SystemRoot 是否被误删(一般为 C:\Windows),若缺失会导致 Windows 特殊设备 nul 无法访问。
  5. 如果以上无效,请在 cmd 中执行 echo test > nul 测试系统设备是否正常;若同样报错,说明系统环境损坏,需修复或还原系统。

如果仍无法解决,请提供软件目录 logs/ 下最新日志文件底部约 30 行内容,以便进一步分析。

请查阅相关文档:

C:\Users\zz>echo test > nul
系统找不到指定的文件。

这是 Windows 系统环境损坏导致的,与 pyVideoTrans 无关。系统找不到 nul 设备,通常意味着 SystemRoot 环境变量缺失/错误,或系统文件损坏。请按顺序执行以下修复:

  1. 检查 SystemRoot 变量
    在命令提示符(CMD)中输入:

    echo %SystemRoot%

    正确应返回 C:\Windows。若为空或显示其他路径,请手动修复:

    • 右键“此电脑”→“属性”→“高级系统设置”→“环境变量”
    • 在“系统变量”中新建 SystemRoot,值设为 C:\Windows
    • 重启电脑后再试
  2. 检查 PATH 变量
    确认系统变量 Path 包含:

    %SystemRoot%\system32;%SystemRoot%;

    若缺失,请在 Path 中追加这两项,保存后重启。

  3. 运行系统文件检查(以管理员身份运行 CMD):

    sfc /scannow

    完成后重启。若提示发现损坏但无法修复,继续执行:

    DISM /Online /Cleanup-Image /RestoreHealth

    之后再运行 sfc /scannow 一次。

  4. 杀毒/安全软件排除干扰
    确保系统目录 C:\Windows 没有被安全防护软件拦截,将 pyVideoTrans 整个文件夹加入信任白名单。

如果以上步骤均无效,说明系统核心组件损坏较重,最可靠的解决方法是重装 Windows使用系统还原点还原。修复系统后,pyVideoTrans 应能正常启动。

若仍有问题,请提供软件目录 logs/ 下最新日志文件底部约 30 行内容,以便进一步排查。

C:\Users\zz>echo %SystemRoot%
C:\Windows

既然 echo %SystemRoot% 输出 C:\Windows,说明环境变量本身没问题。但系统仍找不到 nul 设备,往往是系统文件损坏、被安全软件拦截或系统精简所致。请继续按以下顺序处理:

  1. 以管理员身份运行命令提示符(右键“开始” → “终端(管理员)”或“命令提示符(管理员)”),依次执行:

    sfc /scannow

    完成后重启电脑。若提示“Windows 资源保护无法执行请求的操作”或发现损坏但无法修复,继续执行:

    DISM /Online /Cleanup-Image /RestoreHealth

    之后再次运行 sfc /scannow

  2. 彻底退出安全软件:暂时退出 360、腾讯管家、火绒、金山毒霸等杀毒软件,并将 pyVideoTrans 整个文件夹(如 E:\win-pyvideotrans-v4.08-0802)加入信任白名单。某些安全软件会拦截 Windows 对 nul 设备的访问,导致系统命令报错。
  3. 重新解压完整包:若以上无效,可能是原压缩包在解压时被安全软件破坏。请重新下载 2.7GB 完整包,解压到简单英文路径(如 E:\pyVideoTrans),再次运行 sp.exe
  4. 测试系统恢复情况:修复后,在 CMD 中执行 echo test > nul,如果不再报错,说明系统已正常,pyVideoTrans 大概率可正常启动。

如果以上步骤仍不能解决,请提供软件目录 logs/ 下最新日志文件的底部约 30 行内容,以及 sfc /scannow 的完整执行结果,以便进一步定位。

使用的是 精简版 Windows系统或盗版系统??缺失底层文件,试试这个方法,如果还不行就没办法了

  1. 按下键盘上的 Win + R 键,输入 regedit,按回车打开“注册表编辑器”。
  2. 在左侧树状图中依次展开,定位到以下路径:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Null
  3. 在右侧列表中找到名为 Start 的项,双击它,将“数值数据”修改为 1(1代表System级别启动),点击确定。
  4. 重启电脑,让设置生效,随后再打开软件即可。

PS C:\Windows\system32> sfc /scannow

开始系统扫描。此过程将需要一些时间。

开始系统扫描的验证阶段。
验证 100% 已完成。

Windows 资源保护找到了损坏文件,但其中有一些文件无法修复。
对于联机修复,位于 windir\Logs\CBS\CBS.log 的 CBS 日志文件中
有详细信息。例如 C:\Windows\Logs\CBS\CBS.log。对于脱机修复,
/OFFLOGFILE 标记提供的日志文件中有详细信息。

系统文件修复更改在下次重新启动之后生效。

这是精简版或非官方版 Windows 系统缺失底层设备服务导致的,不是 pyVideoTrans 问题。根据开发者确认的修复方法,请执行以下操作:

  1. 按下 Win + R,输入 regedit,回车打开注册表编辑器。
  2. 在左侧树状图中定位到:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Null
  3. 在右侧找到 Start 项,双击,将“数值数据”修改为 1,点击确定。
  4. 重启电脑,然后再次打开 pyVideoTrans。

另外,sfc /scannow 已提示“找到损坏文件,但有一些无法修复”,说明系统底层文件确实不完整。若修改注册表后仍无法解决,唯一彻底的方案是重装完整的官方 Windows 系统,否则任何依赖 nul 设备的程序都会持续报错。

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Null中没有null

这表明你的精简版 Windows 系统连 Null 设备服务的注册表项都被删除了,系统缺少底层设备支持。开发者提到的修复方法需要该项存在,现在需要手动创建它。请按以下步骤操作:

  1. 按下 Win + R,输入 regedit,回车打开注册表编辑器。
  2. 依次展开左侧树状目录,定位到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
  3. 右键 Services 文件夹,选择“新建”→“项”,命名为 Null
  4. 选中新建的 Null 项,在右侧空白处右键,新建以下值:

    • 名称 Start,类型 DWORD (32位)值,数值数据填 1
    • 名称 Type,类型 DWORD (32位)值,数值数据填 1
    • 名称 ErrorControl,类型 DWORD (32位)值,数值数据填 0
    • 名称 ImagePath,类型 可扩充字符串值,数值数据填 \SystemRoot\System32\drivers\null.sys
    • 名称 DisplayName,类型 字符串值,数值数据填 Null
  5. 关闭注册表编辑器,重启电脑后再打开 pyVideoTrans。

如果上述操作后仍报错,请再检查 C:\Windows\System32\drivers\null.sys 文件是否存在;若不存在,需要从同版本完整 Windows 系统中复制该文件到该目录。由于这是精简版系统缺失底层驱动导致的,如果上述注册表创建和驱动文件补充都无法解决,唯一彻底的方法是重装完整的官方 Windows 系统。

选中新建的 Null 项,在右侧空白处右键,新建以下值:

名称 Start,类型 DWORD (32位)值,数值数据填 1
名称 Type,类型 DWORD (32位)值,数值数据填 1
名称 ErrorControl,类型 DWORD (32位)值,数值数据填 0
名称 ImagePath,类型 可扩充字符串值,数值数据填 \SystemRoot\System32\drivers\null.sys
名称 DisplayName,类型 字符串值,数值数据填 Null 我右击后有几个选项我不知道选择什么情给我详细步骤

在注册表编辑器中,右键新建值的方法是:先在左侧选中 Null 项,然后在右侧空白区域点击鼠标右键,弹出菜单中会有“新建”子菜单,鼠标悬停在“新建”上会展开更多选项。请按下列名称依次创建:

1. 创建 Start

  • 右键右侧空白区域 → 选择“新建” → 选择“DWORD (32 位)值”
  • 此时会出现一个新建的值,名称是“新值 #1”,直接输入 Start 并回车
  • 双击 Start,将“数值数据”改为 1,基数选“十六进制”,点“确定”

2. 创建 Type

  • 再次右键 → “新建” → “DWORD (32 位)值”
  • 命名为 Type
  • 双击 Type,数值数据填 1,点“确定”

3. 创建 ErrorControl

  • 再次右键 → “新建” → “DWORD (32 位)值”
  • 命名为 ErrorControl
  • 双击 ErrorControl,数值数据填 0,点“确定”

4. 创建 ImagePath

  • 右键 → “新建” → “可扩充字符串值”
  • 命名为 ImagePath
  • 双击 ImagePath,数值数据填 \SystemRoot\System32\drivers\null.sys,点“确定”

5. 创建 DisplayName

  • 右键 → “新建” → “字符串值”
  • 命名为 DisplayName
  • 双击 DisplayName,数值数据填 Null,点“确定”

创建完成后的注册表项应类似这样:

Null
    Start = 1
    Type = 1
    ErrorControl = 0
    ImagePath = \SystemRoot\System32\drivers\null.sys
    DisplayName = Null

请确保每一项的类型完全正确,尤其是 ImagePath 必须是“可扩充字符串值”(REG_EXPAND_SZ),而不是普通字符串值。创建完成后关闭注册表编辑器,重启电脑再运行 pyVideoTrans。

如果右键时没有“可扩充字符串值”选项,说明该 Windows 版本显示名称可能为“可扩充字符串值”或“Expandable String Value”,选择带有齿轮图标的那个即可。

Post Your Reply
Open source and free maintenance is not easy. If this project is helpful to you, please consider making a small donation to help the project continue to maintain and update.

Dondate via ko-fi.com

Dondate via PayPal

Related resource