以下是我一直在尝试的代码。
import os
import gnupg
import pdb
pdb.set_trace()
gpg = gnupg.GPG(gnupghome='new')
input_data = gpg.gen_key_input(
key_type="RSA",key_length=1024,
passphrase='mounika')
key = gpg.gen_key(input_data)
with open(local.txt,'rb')as f:
status=gpg.encrypt_file(f)
下面是正在生成的错误消息。
C:\Python27\python.exe C:/SAAS/encrypt.py
Traceback (most recent call last):
File "C:/SAAS/encrypt.py", line 4, in <module>
gpg = gnupg.GPG(gnupghome='new')
File "C:\Python27\lib\site-packages\gnupg.py", line 755, in __init__
raise OSError(msg)
OSError: Unable to run gpg - it may not be available.
Process finished with exit code 1
我是 GnuPG 的新手,在做了一些研究之后,我尝试用 homedir 替换 gnupghome。但这引发了另一个错误,即 homedir 是一个意外的关键字。有人能帮我解决这个问题吗?任何帮助,将不胜感激。
最佳答案
您需要安装gpg
程序并确保它在您的PATH
中。或者在构造函数中提供 gpg
二进制文件的完整路径,例如
gpg = gnupg.GPG(gnupghome='new', gpgbinary='C:\\path\\to\\GnuPG\\pub\\gpg.exe')
同时检查 Deployment Requirements用于 python-gnupg
包以获取更多信息。
关于GnuPG 主目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41800247/