我是靠谱客的博主 唠叨朋友,最近开发中收集的这篇文章主要介绍python报错utf—8_python报错PyUnicodeUCS2_AsUTF8String或者PyUnicodeUCS4_AsUTF8String的问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

如果自己单独升级了python,或者有多个版本的python时,便有可能出现此问题.

问题表象为:报错:undefined symbol: PyUnicodeUCS2_AsUTF8String或者undefined symbol: PyUnicodeUCS4_AsUTF8String.

根本原因时python和某个你用的库编译时指定的UCS编码方式不对.

编译python时,可以通过指定--enable-unicode[=ucs[24]]来选择使用UCS2或者UCS4.

如果你的错误是undefined symbol: PyUnicodeUCS2_AsUTF8String,说明你的python编译时使用的是UCS4,反之依然.

解决方案两个:1,重新编译python,2,重新编译库.

选择一般是重新编译库.

如果使用的是./configure这样的编译方式,如果你的./configure --help没有unicode的选择,那么在./configure之后,

在config.h内增加#define Py_UNICODE_SIZE 4,然后再make,make install之类的,就搞定拉.

原理如下:

在头文件/usr/include/python2.7/unicodeobject.h内:

#ifndef Py_UNICODE_WIDE

# define PyUnicode_AsUTF8String PyUnicodeUCS2_AsUTF8String

python2.7.11默认是使用UCS2.

最后

以上就是唠叨朋友为你收集整理的python报错utf—8_python报错PyUnicodeUCS2_AsUTF8String或者PyUnicodeUCS4_AsUTF8String的问题的全部内容,希望文章能够帮你解决python报错utf—8_python报错PyUnicodeUCS2_AsUTF8String或者PyUnicodeUCS4_AsUTF8String的问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部