Как заставить базовую карту в matplotlib работать в сборке Python с UCS4

Я только что собрал python с UCS-4, все отлично работает! кроме одного: basemap в matplotlib. Я получаю следующую ошибку при импорте Basemap:

ImportError: .../python2.7/site-packages/mpl_toolkits/basemap/_proj.so: неопределенный символ: PyUnicodeUCS2_DecodeUTF8

Мне известно об подобном вопросе, и ответ не помог.

Из моего исследования я думаю, что проблема связана с библиотекой geos, которая требуется для basemap, и, возможно, с swig, которая используется для создания поддержки python для geos. Однако я потерял надежду, когда прочитал следующее

В настоящее время SWIG предоставляет ограниченную поддержку Unicode и строк с расширенными символами (тип C wchar_t). Некоторые языки предоставляют карты типов для wchar_t, но имейте в виду, что они могут быть не переносимы на разные операционные системы. Это деликатная тема, которую плохо понимают многие программисты и которая не реализована единообразно на разных языках. Для тех языков сценариев, которые обеспечивают поддержку Unicode, строки Unicode часто доступны в 8-битном представлении, таком как UTF-8, которое можно сопоставить с типом char * (в этом случае интерфейс SWIG, вероятно, будет работать). Если программа, которую вы оборачиваете, использует Unicode, нет гарантии, что символы Unicode на целевом языке будут использовать одно и то же внутреннее представление (например, UCS-2 или UCS-4). Возможно, вам потребуется написать несколько специальных функций преобразования.

на веб-сайте swig

Кому-нибудь удалось построить matplotlib с basemap в python UCS-4?


person innoSPG    schedule 16.03.2016    source источник