Ubuntu下Spyder4无法切换中文输入法解决办法

Posted Z.Q.Feng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu下Spyder4无法切换中文输入法解决办法相关的知识,希望对你有一定的参考价值。

项目场景:

自从 Spyder3 更新到 Spyder4 之后,在新的 Spyder4 编辑器内就老是切换不了搜狗输入法,这对写代码倒没有什么影响,但是对于注释的书写多多少少还是有那么一点影响的,查资料,总结了一下该情况的解决方法。

环境:Ubuntu20.04、Python3.8.10


问题描述:

在 Ubuntu20.04 下,打开 Spyder 后,无法切换 fcitx 使用中文输入法,在其他的程序下都是可以正常使用的,其中,Spyder4 是通过 pip 安装的,电脑上并没有安装 anaconda 环境


原因分析:

Spyder 是使用 PyQt5 作为 GUI 的抽象层,而 PyQT5 中默认没有加入 fcitx 的输入插件,只有 ibus 的。我们可以通过以下命令查看 PyQt5 的输入法插件安装情况:

ls ~/.local/lib/python3.8/site-packages/PyQt5/Qt/plugins/platforminputcontexts -n

输出如下:

zq@fzqs-computer $ ~ $ ls ~/.local/lib/python3.8/site-packages/PyQt5/Qt/plugins/platforminputcontexts  
libcomposeplatforminputcontextplugin.so  
libibusplatforminputcontextplugin.so

可以看到插件中是缺少支持 fcitx 的插件的,因此我们是不能在此类 PyQt 程序中调用 fcitx 程序来使用搜狗输入法的。


解决方案:

进入到系统下,找到 libfcitxplatforminputcontextplugin.so 文件,一般在此目录下:

cd /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts

拷贝 libfcitxplatforminputcontextplugin.so 文件到刚才说的 PyQt 输入插件目录下:

cp ./libfcitxplatforminputcontextplugin.so ~/.local/lib/python3.8/site-packages/PyQt5/Qt/plugins/platforminputcontexts

给文件设置可执行权限:

chmod 777 ~/.local/lib/python3.8/site-packages/PyQt5/Qt/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so

重启 Spyder,我们便可以通过 Ctrl + Space 切换搜狗输入法啦!


有帮助可以点赞哦,谢谢大家的支持~

以上是关于Ubuntu下Spyder4无法切换中文输入法解决办法的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu16.04搜狗输入法无法输入中文

解决ubuntu无法远程连接

Ubuntu下无法输入中文问题解决

Linux debian ubuntu的PyCharm无法正常输入中文

怎样在ubuntu下把安装的中文输入法切换出来

Ubuntu下sublime无法输入中文问题完美解决