我只是用python
构建UCS-4
,一切都很好!除了basemap
中的一个matplotlib
。
导入Basemap
时出现以下错误:
ImportError:... / python2.7 / site-packages / mpl_toolkits / basemap / _proj.so:undefined symbol:PyUnicodeUCS2_DecodeUTF8
我知道this similar question,答案没有帮助。
根据我的调查,我认为该问题来自geos
所需的库basemap
,可能来自swig
,用于为geos
构建python支持。但是,当我阅读以下内容时,我失去了希望
目前,SWIG对Unicode和宽字符串(C wchar_t类型)提供有限的支持。有些语言为wchar_t提供了类型映射,但请记住,这些语言可能无法在不同的操作系统中移植。这是一个微妙的主题,很多程序员都很难理解,而且没有跨语言以一致的方式实现。对于那些提供Unicode支持的脚本语言,Unicode字符串通常以8位表示形式提供,例如UTF-8,可以映射到char *类型(在这种情况下,SWIG接口可能会起作用)。如果要包装的程序使用Unicode,则无法保证目标语言中的Unicode字符将使用相同的内部表示(例如,UCS-2与UCS-4)。您可能需要编写一些特殊的转换函数。
是否有人在matplotlib
basemap
中使用python
成功构建UCS-4
?