cryptography - 如何在命令行中正确地从 OpenSSL (pyOpenSSL) 导入加密?
问题描述
环境:Ubuntu 12.04.5 LTS x64、OpenSSL v1.0.2h、pyOpenSSL v16.1.0、Python v2.7.3、Eclipse Oxygen.1a (4.7.1a)。
名为“test.py”的程序:
#/usr/bin/env python
#encoding:utf-8
from OpenSSL import crypto
print crypto.__file__
print "hello world"
该程序在 Eclipse 中运行,得到如下结果。
/usr/local/lib/python2.7/site-packages/OpenSSL/crypto.pyc
hello world
然而,当在命令行中运行相同的程序时,会发生错误,信息如下所示。
$ python test.py
Traceback (most recent call last):
File "test.py", line 4, in <module>
from OpenSSL import crypto
File "/usr/local/lib/python2.7/site-packages/OpenSSL/__init__.py", line 8, in <module>
from OpenSSL import rand, crypto, SSL
File "/usr/local/lib/python2.7/site-packages/OpenSSL/rand.py", line 12, in <module>
from OpenSSL._util import (
File "/usr/local/lib/python2.7/site-packages/OpenSSL/_util.py", line 6, in <module>
from cryptography.hazmat.bindings.openssl.binding import Binding
File "/usr/local/lib/python2.7/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 14, in <module>
from cryptography.hazmat.bindings._openssl import ffi, lib
ImportError: /usr/local/lib/python2.7/site-packages/_cffi_backend.so: undefined symbol: PyUnicodeUCS2_FromUnicode
Eclipse 和命令行中的程序导入相同的“crypto.pyc”,为什么它在 Eclipse 中工作而在命令行(UCS2)中失败?如何在命令行中正确从 OpenSSL 导入加密?先感谢您!
解决方案
推荐阅读
- ios - 如何从 SwiftUI 列表和领域中删除数据
- javascript - react-router-dom 中缺少交换机和路由器模块
- angular - 更改 mat-spinner-button 的按钮颜色
- c++ - 使用 gmock 模拟一个创建另一个类的实例的类
- javascript - 回文代码看起来不错,但我无法让它运行
- c - 如何在C中引用深度嵌套的函数指针数组?
- python - 如何在没有有序字典的字典中访问循环中的前一个键?
- vim - vim 中的当前行号未用相对行号突出显示
- node.js - 没有从后端 Nuxtjs Auth 获得响应
- django - 这怎么可能在管理员中使用 list_display=[] 调用 OneToOneField 值