ModuleNotFoundError in ibus-anthy

  • Done
  • quality assurance status badge
Details
2 participants
  • elaexuotee
  • ???
Owner
unassigned
Submitted by
elaexuotee
Severity
normal
E
E
elaexuotee wrote on 30 Jul 2023 05:38
(address . bug-guix@gnu.org)
3QZVAQFC1VXS5.1YT80WSX2ORC8@wilsonb.com
Hey guix,

Anthy has been giving me grief lately. It's not showing up in ibus-setup's list
of input methods.

After futzing around with ibus and gsettings for a while, I noticed this:

$ guix shell --pure ibus ibus-anthy
$ ibus read-cache | xml sel -t -c '(//name[text()="org.freedesktop.IBus.Anthy"])[1]/..' -n
<component>
<name>org.freedesktop.IBus.Anthy</name>
<description>Anthy Component</description>
<version>1.5.14</version>
<license>GPL</license>
<author>Peng Huang &lt;shawn.p.huang@gmail.com&gt;</author>
<exec>/gnu/store/bm3jm0d942ljzmbckbg4872cj70ljqzi-ibus-anthy-1.5.14/libexec/ibus-engine-anthy --ibus</exec>
<textdomain>ibus-anthy</textdomain>
<observed-paths>
<path mtime="1">/home/x/.guix-profile/share/ibus/component/anthy.xml</path>
<path mtime="0">~/.config/ibus-anthy/engines.xml</path>
<path mtime="1">/gnu/store/bm3jm0d942ljzmbckbg4872cj70ljqzi-ibus-anthy-1.5.14/share/ibus-anthy/engine/default.xml</path>
</observed-paths>
<engines>
</engines>
</component>

So anthy is definitely detected by ibus, but directly running that exec command
results in Python falling over:

$ /gnu/store/bm3jm0d942ljzmbckbg4872cj70ljqzi-ibus-anthy-1.5.14/libexec/ibus-engine-anthy --ibus
Traceback (most recent call last):
File "/gnu/store/bm3jm0d942ljzmbckbg4872cj70ljqzi-ibus-anthy-1.5.14/share/ibus-anthy/engine/main.py", line 44, in <module>
import factory
File "/gnu/store/bm3jm0d942ljzmbckbg4872cj70ljqzi-ibus-anthy-1.5.14/share/ibus-anthy/engine/factory.py", line 33, in <module>
import engine
File "/gnu/store/bm3jm0d942ljzmbckbg4872cj70ljqzi-ibus-anthy-1.5.14/share/ibus-anthy/engine/engine.py", line 59, in <module>
from anthyprefs import AnthyPrefs
ModuleNotFoundError: No module named 'anthyprefs'

Any idea on what might be going on? I have had this issue for about a month,
but the above was performed with

$ guix describe
Generation 16 Jul 30 2023 09:58:49 (current)
guix 6b903e2
branch: master
commit: 6b903e210462f7c1e428e0ded7e690d315e1f7a1
...
E
E
elaexuotee wrote on 30 Jul 2023 06:38
(address . 64941@debbugs.gnu.org)
2CKI8V0YGB0D1.2R5HK698GOMLY@wilsonb.com
Some headway: It looks like anthyprefs sits under a different directory than
the engine script:

$ guix shell --pure ibus ibus-anthy

$ ls $GUIX_ENVIRONMENT/share/ibus-anthy/setup/
__pycache__/ _config.py anthyprefs.py main.py prefs.py setup.ui

$ ls $GUIX_ENVIRONMENT/share/ibus-anthy/engine/
__pycache__/ _config.py default.xml engine.py factory.py jastring.py
kana.py main.py romaji.py segment.py tables.py thumb.py

Manually running the engine with a PYTHONPATH fixes the error:

$ PYTHONPATH=$GUIX_ENVIRONMENT/share/ibus-anthy/setup $GUIX_ENVIRONMENT/libexec/ibus-engine-anthy

However, starting ibus-daemon with PYTHONPATH doesn't do anything. I'm guessing
that the environment variable doesn't propagate to engine exec commands. Maybe
a problem in the ibus-engine-anthy wrapper script?
?
Re: bug#64941: ModuleNotFoundError in ibus-anthy
(address . elaexuotee@wilsonb.com)(address . 64941-done@debbugs.gnu.org)
87ila2vtpc.fsf@envs.net
elaexuotee@wilsonb.com writes:

Toggle quote (6 lines)
> Hey guix,
>
> Anthy has been giving me grief lately. It's not showing up in ibus-setup's list
> of input methods.
>

Hello, thanks for the report, fix now in master!
Closed
?