HUH函数
您可以通过使用密钥gpg添加二进制文件及其所有依赖项,将 GnuPG 与 PyInstaller 构建的应用程序打包在一起。Analysis.datas视窗在 Windows 上,我通过反复试验得到了它。首先,我只是在整个系统中搜索gpg.exe二进制文件。在电源外壳中:> Get-Command gpg
0.0.0.0 C:\Program Files\Git\usr\bin\gpg.exe
>然后我.spec通过更改此部分将其添加到我的 PyInstaller 文件中a = Analysis(['..\\src\\main.py'], pathex=['.\\'], binaries=[], datas=[], hiddenimports=['pkg_resources.py2_warn', 'libusb1'], hookspath=[], runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=block_cipher, noarchive=False)进入这个a = Analysis(['..\\src\\main.py'], pathex=['.\\'], binaries=[], datas= [ ('C:\\Program Files\\Git\\usr\\bin\\gpg.exe', '.'), ], hiddenimports=['pkg_resources.py2_warn', 'libusb1'], hookspath=[], runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=block_cipher, noarchive=False)经过上述更改后,我的应用程序会弹出警告错误,例如:The code execution cannot proceed because msys-bz2-1.dll was not found. Reinstalling the program may fix this problem.一个接一个,我一直在寻找(Get-Command如上所示在 powershell 中使用)并添加.dll它抱怨的文件,直到我datas在上面的规范文件中包含以下内容,这些内容有效: datas= [ ( '..\\KEYS', '.' ), ('C:\\Program Files\\Git\\usr\\bin\\gpg.exe', '.'), ('C:\\msys64\\usr\\bin\\msys-bz2-1.dll', '.'), ('C:\\msys64\\usr\\bin\\msys-assuan-0.dll', '.'), ('C:\\msys64\\usr\\bin\\msys-gcrypt-20.dll', '.'), ('C:\\msys64\\usr\\bin\\msys-gpg-error-0.dll', '.'), ('C:\\msys64\\usr\\bin\\msys-2.0.dll', '.'), ('C:\\msys64\\usr\\bin\\msys-readline8.dll', '.'), ('C:\\msys64\\usr\\bin\\msys-z.dll', '.'), ('C:\\msys64\\usr\\bin\\msys-sqlite3-0.dll', '.'), ('C:\\msys64\\usr\\bin\\msys-iconv-2.dll', '.'), ('C:\\msys64\\usr\\bin\\msys-intl-8.dll', '.'), ('C:\\msys64\\usr\\bin\\msys-ncursesw6.dll', '.'), ],