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无法切换中文输入法解决办法的主要内容,如果未能解决你的问题,请参考以下文章