无法将库加载到pyinstaller中

时间:2018-08-12 05:58:01

标签: python cryptography python-3.6 pyinstaller scrypt

问题

我一直在尝试将相当大的python应用程序构建为Windows的可执行文件。我已经完成了可以正常工作的mac构建,但是似乎卡在了scrypt的_scrypt .pyd文件中 模块尝试在运行时加载。

__main__.PyInstallerImportError: Failed to load dynlib/dll 
'C:\\Users\\Chris\\Desktop\\Application\\dist\\test\\_scrypt.cp36- 
win_amd64.pyd'. Most probably this dynlib/dll was not found when the 
application was frozen.

我尝试了以下方法:

  • 在我的spec文件中的二进制文件和隐藏导入下定义scrypt .pyd文件。这对于我需要添加的所有其他文件都很好。

  • 使用运行时挂钩。

  • 使用任何其他可用的python冻结应用程序。

  • 编辑scrypts代码。

  • 最多下载SSL证书1.1。

  • 重新安装Microsoft .dll我可能会丢失。

  • 重新安装scrypt模块和pycryptodome模块。

在Python终端中运行import scrypt会给我OSError: [WinError 126] The specified module could not be found,尽管奇怪地运行了我要构建的程序,直到尝试使用pyinstaller为止。

scrypt模块中的相关代码

import imp
import os
import sys

from ctypes import (cdll,
                    POINTER, pointer,
                    c_char_p,
                    c_size_t, c_double, c_int, c_uint64, c_uint32,
                    create_string_buffer)

__version__ = '0.8.6'

_scrypt = cdll.LoadLibrary(imp.find_module('_scrypt')[1])
#_scrypt = cdll.LoadLibrary("_scrypt.cp36-win_amd64.pyd")

真的很感谢下一步的建议,谢谢。

0 个答案:

没有答案