Ubuntu 18.04 LTS系統下,spyder4編輯器無法使用搜狗輸入中文。系統輸入法為fcitx+搜狗拼音,chrome瀏覽器無此問題。網上答案: Spyder (以及其他PyQt程序) 無法使用 fcitx 輸入法輸入中文的解決辦法
由於spyder4界面基於PyQt5,而本機上python的PyQT5安裝包默認只提供ibus支持,fcitx的插件文件不存在:
ll ~/.pyenv/versions/3.7.4/envs/py37/lib/python3.7/site-packages/PyQt5/Qt/plugins/platforminputcontexts/
顯示只有libcomposeplatforminputcontextplugin.so和libibusplatforminputcontextplugin.so文件,缺少libfcitxplatforminputcontextplugin.so文件,此處具體路徑與python安裝位置有關,搜索可找到相應路徑:
locate libcomposeplatforminputcontextplugin.so | grep PyQt5
為支持搜狗,我們需要手動加入fcitx的插件文件到該路徑(鏈接和拷貝都可以):
sudo ln -s libfcitxplatforminputcontextplugin.so /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so
再查看:
ll ~/.pyenv/versions/3.7.4/envs/py37/lib/python3.7/site-packages/PyQt5/Qt/plugins/platforminputcontexts/
應有如下鏈接:
libfcitxplatforminputcontextplugin.so -> /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so
重啟spyder,搜狗輸入中文正常。
測試環境:
Ubuntu 18.04.1 LTS
kernel: 4.15.0-106-generic