亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 GnuPG (gpg) 可執行文件和依賴項 (PyInstaller)

如何使用 GnuPG (gpg) 可執行文件和依賴項 (PyInstaller)

拉風的咖菲貓 2023-06-06 16:20:01
當我使用PyInstaller構建我的應用程序時,如何包含gpg(及其所有依賴項)?我將使用PyInstaller.?我需要使用gpg,所以我正在使用模塊——它基本上只是將 shell 輸出到系統上python-gnupg本地安裝的二進制文件。gpg因為我的應用程序被設計成一個“可移植”的可執行文件(我曾經將PyInstaller它與解釋器和所有其他依賴項一起提供python),所以我想包含gpg在我的發布中,這樣用戶就不必在他們的機器上安裝它。如何使用面向 Linux、Windows 和 MacOS 的模塊添加gpg二進制文件及其所有依賴項?python-gnupgPyInstaller
查看完整描述

1 回答

?
HUH函數

TA貢獻1836條經驗 獲得超4個贊

您可以通過使用密鑰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', '.'),

? ? ? ? ? ? ? ],

查看完整回答
反對 回復 2023-06-06
  • 1 回答
  • 0 關注
  • 210 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號