Как заставить базовую карту в matplotlib работать в сборке Python с UCS4
Я просто строю python
с UCS-4
все работает отлично! Кроме одного: basemap
в matplotlib
, Я получаю следующую ошибку при импорте Basemap
:
Ошибка импорта: .../python2.7/site-packages/mpl_toolkits/basemap/_proj.so: неопределенный символ: PyUnicodeUCS2_DecodeUTF8
Я знаю об этом подобном вопросе, и ответ не помог.
Из моего исследования, я думаю, что проблема исходит от библиотеки geos
это требуется basemap
и, возможно, из swig
который используется для создания поддержки Python для geos
, Тем не менее, я потерял надежду, когда я прочитал следующее
В настоящее время SWIG обеспечивает ограниченную поддержку Юникода и строк широких символов (тип C wchar_t). Некоторые языки предоставляют карты типов для wchar_t, но имейте в виду, что они могут не переноситься в разные операционные системы. Это деликатная тема, которая плохо понимается многими программистами и не реализована единообразно в разных языках. Для тех языков сценариев, которые обеспечивают поддержку Unicode, строки Unicode часто доступны в 8-битном представлении, таком как UTF-8, которое может быть сопоставлено с типом char * (в этом случае, вероятно, будет работать интерфейс SWIG). Если программа, которую вы упаковываете, использует Unicode, нет гарантии, что символы Unicode на целевом языке будут использовать одно и то же внутреннее представление (например, UCS-2 против UCS-4). Возможно, вам придется написать некоторые специальные функции преобразования.
на сайте Swig
Кто-нибудь преуспел в строительстве matplotlib
с basemap
в python
UCS-4
?