首页 > 代码库 > 耗完了一天

耗完了一天

今天非常有挫败感,啥都没做,配了一天的环境,结果还不行,现在卡在这个问题了,mark下。看看明天能不能搞定,今天先做点其他的,不然一天就这样子耗完了,太不值了。问题是:

导入模块时,为什么会出现“undefined symbol: PyUnicodeUCS2*”错误  (转自http://chinaahao.blog.163.com/blog/static/23175835201072502152362/)

  你正在使用以4字节表示Unicode字符的Python版本,但是你正在使用的某些C扩展模块是以2字节表示Unicode字符(默认)的Python版本编译的。

    如果错误信息中换作是:PyUnicodeUCS4,问题反过来了,Python以2字节Unicode字符编译,C扩展模块是以4字节Unicode字符的Python版本编译的。

    在使用预编译的扩展模块时很容易发生这个问题。

你可以通过检查sys.maxunicode的值来判断Python使用的是哪个UCS:

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

解决这种问题的唯一办法是:使用以相同字节数表示Unicode字符的Python版本进行编译的扩展模块。

google姐了很久,貌似只有说问题的,咩有解决的。

耗完了一天