虚拟环境中torch.load加载模型遇pywintypes缺失问题求助
解决方案
确认虚拟环境中pywin32的安装路径
激活你的Detectron2虚拟环境,执行pip show pywin32,找到输出里的Location字段(比如D:\venvs\detectron2\Lib\site-packages)。进入该路径下的pywin32_system32文件夹,确认里面存在pythoncom39.dll和pywintypes39.dll(对应你的Python3.9版本)。修复pywin32的虚拟环境注册
保持虚拟环境激活状态,执行命令:python -m pywin32_installer这个命令会自动完成dll的注册工作,无需手动移动文件,是虚拟环境下最可靠的修复方式。
临时添加dll路径到运行环境(可选,若上述命令无效时用)
在加载模型的Python脚本开头添加以下代码,手动将pywin32的dll路径加入系统路径:import sys import os # 拼接pywin32_system32的绝对路径 pywin32_dll_path = os.path.join(sys.prefix, "Lib", "site-packages", "pywin32_system32") # 先添加到PATH环境变量 os.environ["PATH"] = f"{pywin32_dll_path};{os.environ['PATH']}" # 再添加到sys.path sys.path.append(pywin32_dll_path)验证修复效果
在激活的虚拟环境中启动Python,执行import pywintypes,如果没有报错,再尝试运行torch.load加载模型,确认问题解决。
内容的提问来源于stack exchange,提问作者Andy Roo
相关产品推荐
相关产品推荐

