gpt4 book ai didi

python-3.x - "dynlib/dll was no found when the application was frozen"当我使用 pyinstaller 制作 .exe 文件时,由于 pylibmtx 发生错误

转载 作者:行者123 更新时间:2023-12-02 17:01:14 26 4
gpt4 key购买 nike

enter image description here

当我 enter image description here

我正在努力制作 .exe 文件。错误消息显示它在第 9 行有问题,所以我检查了我的代码。有导入的库“pylibdmtx”,用于解码数据矩阵。

所以我尝试删除有关该库的所有内容以及其他相关属性,然后就没问题了。我试图找出该问题以进行故障排除,但找不到。所以我终于向您提出了我的问题。

我上传了我的问题的截图

谢谢。

最佳答案

也许有点晚了,但如果其他人对此有疑问,我会分享这些信息:

找到 here .

在引导加载程序中,我们使用提取路径调用 SetDllDirectory。出于某种原因,这似乎阻止了从当前目录加载 dll。如果使用 Null 参数调用 SetDllDirectory 以重置 dll 搜索路径,则可以从当前目录加载 dll。

基于 vlc 和 libvlc.dll 的示例。

不起作用:

import ctypes
import os

os.chdir('C:\\Program Files\\VideoLan\\VLC\\')
print(ctypes.CDLL('libvlc.dll'))

作品:

import ctypes
import os

ctypes.windll.kernel32.SetDllDirectoryW(None)

os.chdir('C:\\Program Files\\VideoLan\\VLC\\')
print(ctypes.CDLL('libvlc.dll'))

因此,如果您的代码使用 ctypes 加载外部 DLL 文件,请确保在加载 DLL 之前添加此行(在 Windows 下测试,不确定其他操作系统)

ctypes.windll.kernel32.SetDllDirectoryW(None)

关于python-3.x - "dynlib/dll was no found when the application was frozen"当我使用 pyinstaller 制作 .exe 文件时,由于 pylibmtx 发生错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54110504/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com