首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GnuPG主目录

GnuPG主目录
EN

Stack Overflow用户
提问于 2017-01-23 14:14:50
回答 2查看 5.1K关注 0票数 3

以下是我一直在尝试的代码。

代码语言:javascript
复制
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)

下面是生成的错误消息。

代码语言:javascript
复制
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。但是这引发了另一个错误,即keyword.Can是一个意外的homedir。请帮助我解决这个问题。任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2017-01-23 14:25:41

您需要安装gpg程序并确保它位于您的PATH中。或者在构造函数中提供gpg二进制文件的完整路径,如

代码语言:javascript
复制
gpg = gnupg.GPG(gnupghome='new', gpgbinary='C:\\path\\to\\GnuPG\\pub\\gpg.exe')

有关更多信息,还请查看python-gnupg包的Deployment Requirements

票数 1
EN

Stack Overflow用户

发布于 2017-01-26 20:45:25

在最新版本(2.2.0)的python-gnupg(导入为gnupg)中,

Gnupghome=homedir(存储密钥环等的位置)。

其他几件事:

二进制文件(在windows中是exe文件)被定义为'binary‘。

最好指定指纹,也许你的local.txt应该是一个字符串(‘local.txt’),

而且我认为您使用的saltycrane blog post目前有点过时了。

因此,下面的代码应该可以工作(重构操作代码):

代码语言:javascript
复制
import os
import gnupg
import pdb
pdb.set_trace()
gpg = gnupg.GPG(homedir='new',
            binary="C:/Progra~2/GNU/GnuPG/pub/gpg2.exe")
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(f, key.fingerprint)
print status.ok
print status.status
print status.stderr

我认为你的代码只是默默地失败了。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41800247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档