Python undefined symbol: PyUnicodeUCS4_DecodeUTF8错误修复

问题描述:今日在对py文件进行编译加密的时候,导入模块时提示undefined symbol: PyUnicodeUCS4_DecodeUTF8

原因:
python默认以UCS2形式编译,但模块是以UCS4编译的

验证:新建check.py

import sys
if sys.maxunicode > 65535:
	print 'UCS4 build'
else:
	print 'UCS2 build'

python check.py即可验证是UCS2还是UCS4。问题解释参看the official FAQ

解决方法:
UCS4重新编译Python
Python-2.7.15为例,进入源码目录

./configure --enable-unicode=ucs4 --with-ssl
make && make install

注意编译后再次运行python check.py检查是否正确。如果还是UCS2,那么检查指向usr/bin/python的软连接是否正确,看看which python的结果是不是usr/bin/python。如果不是,那么需要重新建立软连接,或者检查user profile (例如~/.bashrc)里面的$PATHusr/bin前面是否有指向其他python版本的路径。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值