Skip to content

AttributeError: 'UserDirectory' object has no attribute 'value_name'

Description:

Due to a change in how pygobject >= 3.51.0 handles unregistered enums, mypaint throws an exception on start. Upstream is integrating with Ubuntu's shipped version of pyglib and friends. This is our problem.

Additional info:

  • package version(s):
    • mypaint 2.0.1-6
    • pygobject >= 3.51.0

There is a patch available to fix this. https://github.com/wobbol/mypaint/commit/3b682d5898f4a6b709a2cd1a4d2b1b9288277cd6

reference to when pygobject changed its behavior in its news file. https://gitlab.gnome.org/GNOME/pygobject/-/blob/1c675e47a160662e5247a387dcd35e0d36b3c4d2/NEWS#L32

  • config and/or log files:
$ mypaint --version
INFO: mypaint: Installation layout: conventional POSIX-like structure with prefix '/usr'
Traceback (most recent call last):
  File "/usr/bin/mypaint", line 309, in <module>
    main.main(
    ~~~~~~~~~^
        datapath,
        ^^^^^^^^^
    ...<4 lines>...
        debug=debug,
        ^^^^^^^^^^^^
    )
    ^
  File "/usr/lib/mypaint/gui/main.py", line 133, in main
    lib.glib.init_user_dir_caches()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/mypaint/lib/glib.py", line 193, in init_user_dir_caches
    k.value_name,
    ^^^^^^^^^^^^
AttributeError: 'UserDirectory' object has no attribute 'value_name'

Steps to reproduce:

  1. Open mypaint with its standard out visible
  2. Observe python exception
Edited by Robert
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information