在 Windows 下,dvc add 一个目录出现以下错误:

>dvc add datas
Adding...
ERROR: unexpected error - DLL load failed while importing win32file: The specified module could not be found.
Having any troubles? Hit us up at https://dvc.org/support, we are always happy to help!

单从 python 给出的错误提示,没法得出它到底缺少什么文件。

我们进入 python 交互模式,然后“import win32file”,就会提示:

>>> import win32file
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: DLL load failed while importing win32file: The specified module could not be found.

说明可以复现。

然后,我们用 Visual Studio 的调试功能,附加到 python 程序。当重现上述错误时,可以在 Output 中看到 win32file.pyd 加载后又卸载了,说明是 win32file.pyd 缺少依赖的动态库。

我们再用 depend 程序查看 win32file.pyd,可以看到找不到 pywintypes38.dll;它实际上是在“site-packages\pywin32_system32”里,在网上查找原因,可以看到[1]里描述,是需要将里面的文件复制到“windows\system32”里。对于 conda,可以把文件复制到 Scripts 里。


  1. How to fix “ImportError: DLL load failed” while importing win32api

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注