2016-12-27 10 views
1

Когда я перехожу с традиционного китайского на упрощенный китайский. Я использую ubuntu и устанавливаю opencc 1.0.4 (по исходному коду). Я использую питона OpenCC 0,2 (пип установить opencc)opencc python вызывает ошибку сегментации

Я пытался в питона среде (python3.4 +)

>>> import opencc 
>>> opencc.convert('乾坤一擲') 
>>> opencc.convert('乾坤一掷', config='s2t.json') 

Все причины ошибки сегментации.

Однако, если я использую opencc из библиотеки системы С помощью

[[email protected]]$ opencc -i text.txt" 

где text.txt содержит традиционные китайские слова. Это нормально.

Кто-нибудь столкнулся с этим и любым решением? Спасибо

ответ

0

Я решил свою проблему.

Причина этой проблемы заключается в следующем,

Под моим Ubuntu 16,04 LTS, есть/USR/Lib/и/USR/Lib/x86_64-Linux-гну/

Когда я установил opencc 1.0.4 из исходного кода (https://github.com/BYVoid/OpenCC) через Makefile, библиотека была установлена ​​только в/usr/lib /, которая оставила libopencc.so под/usr/lib/x86_64-linux-gnu/unmodified. И этот lib под/usr/lib/x86_64-linux-gnu/слишком стар для OpenCC 0.2 и все еще используется средой выполнения python.

Ref: https://github.com/lepture/opencc-python/blob/master/opencc.py#L20

Решение: Свяжите /usr/lib/x86_64-linux-gnu/libopencc.so к новым libopencc.so от opencc 1.0.4.

Что я действительно сделал: скопируйте /usr/lib/libopencc.so.1.0.0 в/usr/lib/x86_64-linux-gnu /, который заменяет старый libopencc.so.1.0.0.