python - 为 Python (Windows) 正确安装 pyOpenSSL

标签 python windows openssl installation gspread

我正在尝试制作一个自动更新 Google Plus 电子表格的应用程序。为此,我必须设置 gspread,这也需要 pyOpenSSL 才能工作。没有它,它会抛出这个错误:

CryptoUnavailableError: No crypto library available

使用 pip,我输入命令:

pip install pyopenssl

并导入使用:

from OpenSSL import SSL

当我尝试运行代码时,收到以下错误:

ImportError: No module named cryptography.hazmat.bindings.openssl.binding

我已经多次尝试重新安装 pyOpenSSL,还尝试重新安装加密依赖项(以及尝试安装以前版本的 pyOpenSSL)。

这个问题被记录了几次,但我没有尝试过的唯一解决方案是重新安装 python 或操作系统。

有什么建议吗?提前致谢。

最佳答案

祝你好运。在 Windows 上调试 ImportError 问题不适合胆小的人。

尽管 ImportError 指的是 cryptography.hazmat.bindings.openssl.binding 这不一定是原始问题。无论出于何种原因,我经常有 ImportError 掩盖另一个问题。

我会尝试的第一件事是运行

python -v -c "从 OpenSSL 导入 SSL"

并捕获输出。寻找接近最终错误的任何问题。

可以是以下之一:

  • cffi 未能编译绑定(bind)(预编译的绑定(bind)应该已通过 pip install 安装,但有时会出现问题...)
  • 尝试导入不可用的 SSL DLL 的绑定(bind)(但也应该由 pip install 提取,但我不太确定)
  • DLL 可用但不可加载,因为缺少某些相关的 DLL,例如 visual studio 运行时。

我敢打赌最后一点。唯一对我有帮助的是用 Dependency Walker 打开相关的 module.pyd .原因往往是一些奇怪的问题(比如发现另一个 DLL 的架构错误)。

祝你好运!

关于python - 为 Python (Windows) 正确安装 pyOpenSSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35232350/

相关文章:

python - 比较两个 numpy 数组是否符合两个条件

windows - 为 x86 和 x64 编译

c - 从C文件中读取unicode字符

c - 如何知道我的 openssl 是否支持 sslv3

c++ - SSL - 多线程

security - AWS,特别是负载均衡器服务是否受 SSL "Heart Bleed"漏洞影响?

python - 如何在Python中检测和旋转图像

python - 如何计算特定字体和大小的字符串长度(以像素为单位)?

python - 在 python 3.7 中使用 paho mqtt 客户端的问题

c# - 使用 Windows 模拟连接到 SQL Server