Spyder无法使用搜狗输入中文的解决办法
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的插件文件到该路径(链接和拷贝都可以):在目录~/.pyenv/versions/3.7.4/envs/py37/lib/python3.7/site-packages/PyQt5/Qt/plugins/platforminputcontexts/下
sudo ln -s /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so 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