File "C:\……\base.py", line 16, in lookup_dll
for name in os.listdir(path):
NotADirectoryError: [WinError 267] 目录名称无效。: 'D:\Code\ModLs\fonttools.exe'
目录下的D:\Code\ModLs\fonttools.exe是有的,为什么会报错呢?
-/-
(分隔符)
-/-
解决:
首先我去文件里看源码看了半天,也没找到错误
找资料看了很多类似问题,也没解决
-
后来我一想,为啥其他人没问题,偏偏你fonttools.exe出问题呢
-
突然我想到了输入格式问题
有没有可能是程序运行到这个点的时候不应该是exe这种格式
-
接着我找了os.listdir'os.mkdir'os.makedir三个的用法才发现这个地方要检测的是文件夹目录
-
又看到这个地方传入的是PATH路径,我就去找第三方库PATH路径设置的资料
-
终于发现是PATH路径设错了,系统变量PATH里面存第三方库的路径只用到所处文件夹就行了
-
但是我初用python不知道(……)
-
改了PATH路径就好了
报错的原因是 NotADirectoryError: [WinError 267] 目录名称无效。: 'D:\Code\ModLs\fonttools.exe'。
意思是指 D:\Code\ModLs\fonttools.exe 这个路径不是一个目录,而是一个文件,因此 os.listdir() 无法处理该路径。
在代码 windows_find_lib() 中,使用了 os.listdir() 函数读取一个文件夹下的所有文件,但是当参数所指定的路径不是一个目录时,就会报 NotADirectoryError 错误。
建议检查上述路径是否正确,如果是文件路径则需要改为文件所在文件夹的路径。另外,如果 D:\Code\ModLs\fonttools.exe 是一个可执行文件,可以尝试将其添加到系统的环境变量中,或者将其放到 Python 的 Scripts 文件夹下,这样 Python 就可以找到该文件。
如果答案对您有所帮助,望采纳。