我已经使用pyinstaller编译了一个脚本并且编译得很好但是当我运行程序时,我在控制台窗口中收到以下错误。
ImportError: DLL load failed: The specified module could not be found.
当我收到此错误时,我正在尝试导入加密。为什么会发生这种情况,我该如何解决?
答案 0 :(得分:0)
您可以使用Python的详细导入标记来验证隐藏导入是否存在问题。如果导入消息说"找不到模块",但是warnproject.txt文件没有"没有命名的模块......"对于同一模块的消息,则问题是隐藏导入。
隐藏导入是通过在Analysis时挂钩模块(执行隐藏导入的模块)来处理的。这样做如下:
创建一个名为hook-module.py的文件(其中module是完全限定的Python名称,例如hook-xml.dom.py)并将其放在某处。记住这个地方作为私人挂钩目录。
- 醇>
在.spec文件中,将您的private hooks目录作为hookspath参数传递给Analysis,以便进行搜索。例如:
a =分析([' myscript.py'],hookspath =' / my / priv / hooks') 在大多数情况下,钩子模块只有一行:
hiddenimports = [' module1',' module2'] 当Analysis找到此文件时,它将完全像模块显式导入module1和module2一样。
This question似乎相关,答案也可能对您有用。
最后,this report似乎包含类似的问题。用户似乎能够通过更新到pyinstaller 2.1来修复它,所以如果你还没有尝试,你可能想尝试一下。