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 切换搜狗输入法啦!


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

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Z.Q.Feng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值