【问题标题】:`No crypto library available` in Python 2.7 on a Windows PCWindows PC 上的 Python 2.7 中的“没有可用的加密库”
【发布时间】:2016-04-15 07:28:59
【问题描述】:

我正在 Windows PC 上试用 GAE Python 应用程序。在使用以下代码时,我遇到了No crypto library available 错误:

from oauth2client.client import SignedJwtAssertionCredentials
json_key=json.load(open('DriveCredentials.json'))
scope = ['https://spreadsheets.google.com/feeds']
credentials = SignedJwtAssertionCredentials(json_key['client_email'], json_key['private_key'].encode(), scope)

根据this,我需要安装PyOpenSSL。我这样做了,但仍然得到同样的错误。从这个Google Groups conversation,假设它在Windows 环境中无法工作,因为crypt 模块在Windows 中不可用。这是正确的吗?

我将项目部署到 GAE,尽管无法在我的本地 PC 上运行,但它在 Google 的服务器上运行良好。

SignedJwtAssertionCredentials 无法在 Windows PC 上进行开发是已知问题吗?有解决办法吗?

我之前在另一个应用程序中的 Windows 上的 Python 3.4 环境中使用了上述相同的代码,并且运行良好。

【问题讨论】:

  • 您是否在 app.yaml 文件中包含了 pycrypto 库?看到这个:stackoverflow.com/a/28539143/783657
  • 是的。完全相同的文件无法在我的 PC 上运行,但如果推送到 Google App Engine 运行良好。
  • PyCrypto和PyOpenSSL是什么关系?

标签: python google-app-engine google-oauth


【解决方案1】:

您需要下载并安装适用于 Windows 的 Voidspace PyCrypto 二进制文件:

http://www.voidspace.org.uk/python/modules.shtml#pycrypto

某些国家/地区对出口 PyCrypto 等密码算法有限制。为了安全起见,PyCrypto 不直接提供这些。因此,您必须从这些第三方网站下载并安装它,而不是使用pip 等标准工具。

【讨论】:

    猜你喜欢
    • 2016-04-01
    • 2011-04-21
    • 2015-12-18
    • 2015-08-12
    • 1970-01-01
    • 2021-05-24
    • 2011-08-26
    • 2012-03-16
    • 2012-04-24
    相关资源
    最近更新 更多