python - Python 2.7 "wide-build"usc4 是否与某些库不兼容?

标签 python python-2.7 unicode pycrypto

我需要能够处理一些具有高值的 unicode 字符,所以我使用选项 --enable-unicode=ucs4 --prefix 重新安装了 Python 2.7.10(“wide-build ").

然后我开始收到以下错误:

...
    from Crypto.Cipher import _ARC4
ImportError: /home/fast/usr/local/lib/python2.7/site-packages/Crypto/Cipher/_ARC4.so: undefined symbol: PyUnicodeUCS2_FromString

我意识到 undefined symbol: PyUnicodeUCS2_FromString 一定是因为新版本,所以我尝试重新安装所有新的东西(新的 Python 和新的 pip 以及新安装的库)。我仍然有同样的错误。

是否根本不可能将 Crypto 库与 Python 广泛构建一起使用?

我找不到这方面的任何文档。是否有任何已知的解决方法?

感谢您的帮助!

最佳答案

Python 2 中没有针对此问题的令人满意的解决方案:UCS2 和 UCS4 版本具有不兼容的 ABI,并且需要从源代码构建库(因为大多数二进制鸡蛋是针对默认的 UCS2 ABI 构建的)。 This issue详细说明了问题,以及将其纳入 Python 3.3 的解决方案 (PEP 393)。

不过,您使用 UCS4 构建的理由有点可疑。 Python 的 UCS2 构建完全能够“处理一些具有高值的 unicode 字符”,使用代理对来表示补充代码点。

关于python - Python 2.7 "wide-build"usc4 是否与某些库不兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31644056/

相关文章:

ios - 如何将 unicode 十六进制数字变量转换为 NSString 中的字符?

python - 使用 Celery 抓取网站

python - 将文件的内容放入列表中?

python - OneToThree django模型

检查方法参数的 Python 2/3 兼容方式

c# - 关于 C# 文本文件读取中 65533 � 的问题

unicode - 这个 Unicode NFC 转换是否正确?

python - Django 1.9 form.is_valid 在 ModelForm 上失败

python - 在 Python 中解析两个 JSON 字符串

python - 如何用 Pandas 计算协方差矩阵