Gst-python fails to import on FRDM-IMX95 walnascar (Python3.13)

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Gst-python fails to import on FRDM-IMX95 walnascar (Python3.13)

497 Views
ha1234
Contributor I

Trying to import gst-python (`from gi.repository import Gst`) results in a RuntimeError:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
    from gi.repository import Gst; import sys;
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 921, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 813, in module_from_spec
  File "/usr/lib/python3.13/site-packages/gi/importer.py", line 147, in create_module
    dynamic_module = load_overrides(introspection_module)
  File "/usr/lib/python3.13/site-packages/gi/overrides/__init__.py", line 98, in load_overrides
    override_mod = importlib.import_module(override_package_name)
  File "/usr/lib/python3.13/importlib/__init__.py", line 88, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/gi/overrides/Gst.py", line 989, in <module>
    real_functions = [o for o in inspect.getmembers(Gst) if isinstance(o[1], type(Gst.init))]
                                 ~~~~~~~~~~~~~~~~~~^^^^^
  File "/usr/lib/python3.13/inspect.py", line 624, in getmembers
    return _getmembers(object, predicate, getattr)
  File "/usr/lib/python3.13/inspect.py", line 602, in _getmembers
    value = getter(object, key)
  File "/usr/lib/python3.13/site-packages/gi/module.py", line 204, in __getattr__
    wrapper = info.get_value()
RuntimeError: unable to get value

Has anyone else seen this issue? Unfortunately I can't go back to scarthgap as there isn't board support for the FRDM EVK. For clarity this is using a custom image using the imx-6.12.49-2.2.0 manifest

Labels (2)
Tags (3)
0 Kudos
Reply
1 Reply

433 Views
Chavira
NXP TechSupport
NXP TechSupport

Hi @ha1234,

Thank you for contacting NXP Support!

GStreamer’s Python bindings (gst-python / PyGObject) do not yet fully support Python 3.13.
The failure occurs inside the gi.overrides.Gst GObject Introspection layer, not in user code.


As a workaround, it is necessary to downgrade the Python version used in the system.
In embedded Linux systems built with Yocto, this can be done by rebuilding the image and explicitly selecting a supported Python version (e.g. Python 3.12) in local.conf.


This ensures compatibility with PyGObject and allows from gi.repository import Gst to work correctly at runtime.

 

Best Regards,
Alejandro Garcia

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2358028%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EGst-python%20fails%20to%20import%20on%20FRDM-IMX95%20walnascar%20(Python3.13)%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2358028%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3ETrying%20to%20import%20gst-python%20(%60%3CSPAN%20class%3D%22%22%3Efrom%20gi.repository%20import%20Gst%60)%20results%20in%20a%20RuntimeError%3A%3C%2FSPAN%3E%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3ETraceback%20(most%20recent%20call%20last)%3A%0A%20%20File%20%22%3CSTRING%3E%22%2C%20line%201%2C%20in%20%3CMODULE%3E%0A%20%20%20%20from%20gi.repository%20import%20Gst%3B%20import%20sys%3B%0A%20%20%20%20%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%0A%20%20File%20%22%3CFROZEN%20importlib._bootstrap%3D%22%22%3E%22%2C%20line%201360%2C%20in%20_find_and_load%0A%20%20File%20%22%3CFROZEN%20importlib._bootstrap%3D%22%22%3E%22%2C%20line%201331%2C%20in%20_find_and_load_unlocked%0A%20%20File%20%22%3CFROZEN%20importlib._bootstrap%3D%22%22%3E%22%2C%20line%20921%2C%20in%20_load_unlocked%0A%20%20File%20%22%3CFROZEN%20importlib._bootstrap%3D%22%22%3E%22%2C%20line%20813%2C%20in%20module_from_spec%0A%20%20File%20%22%2Fusr%2Flib%2Fpython3.13%2Fsite-packages%2Fgi%2Fimporter.py%22%2C%20line%20147%2C%20in%20create_module%0A%20%20%20%20dynamic_module%20%3D%20load_overrides(introspection_module)%0A%20%20File%20%22%2Fusr%2Flib%2Fpython3.13%2Fsite-packages%2Fgi%2Foverrides%2F__init__.py%22%2C%20line%2098%2C%20in%20load_overrides%0A%20%20%20%20override_mod%20%3D%20importlib.import_module(override_package_name)%0A%20%20File%20%22%2Fusr%2Flib%2Fpython3.13%2Fimportlib%2F__init__.py%22%2C%20line%2088%2C%20in%20import_module%0A%20%20%20%20return%20_bootstrap._gcd_import(name%5Blevel%3A%5D%2C%20package%2C%20level)%0A%20%20%20%20%20%20%20%20%20%20%20~~~~~~~~~~~~~~~~~~~~~~%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%0A%20%20File%20%22%2Fusr%2Flib%2Fpython3.13%2Fsite-packages%2Fgi%2Foverrides%2FGst.py%22%2C%20line%20989%2C%20in%20%3CMODULE%3E%0A%20%20%20%20real_functions%20%3D%20%5Bo%20for%20o%20in%20inspect.getmembers(Gst)%20if%20isinstance(o%5B1%5D%2C%20type(Gst.init))%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20~~~~~~~~~~~~~~~~~~%5E%5E%5E%5E%5E%0A%20%20File%20%22%2Fusr%2Flib%2Fpython3.13%2Finspect.py%22%2C%20line%20624%2C%20in%20getmembers%0A%20%20%20%20return%20_getmembers(object%2C%20predicate%2C%20getattr)%0A%20%20File%20%22%2Fusr%2Flib%2Fpython3.13%2Finspect.py%22%2C%20line%20602%2C%20in%20_getmembers%0A%20%20%20%20value%20%3D%20getter(object%2C%20key)%0A%20%20File%20%22%2Fusr%2Flib%2Fpython3.13%2Fsite-packages%2Fgi%2Fmodule.py%22%2C%20line%20204%2C%20in%20__getattr__%0A%20%20%20%20wrapper%20%3D%20info.get_value()%0ARuntimeError%3A%20unable%20to%20get%20value%3C%2FMODULE%3E%3C%2FFROZEN%3E%3C%2FFROZEN%3E%3C%2FFROZEN%3E%3C%2FFROZEN%3E%3C%2FMODULE%3E%3C%2FSTRING%3E%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3EHas%20anyone%20else%20seen%20this%20issue%3F%20Unfortunately%20I%20can't%20go%20back%20to%20scarthgap%20as%20there%20isn't%20board%20support%20for%20the%20FRDM%20EVK.%20For%20clarity%20this%20is%20using%20a%20custom%20image%20using%20the%26nbsp%3Bimx-6.12.49-2.2.0%20manifest%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2358028%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3EMultimedia%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EYocto%20Project%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2358772%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Gst-python%20fails%20to%20import%20on%20FRDM-IMX95%20walnascar%20(Python3.13)%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2358772%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F262209%22%20target%3D%22_blank%22%3E%40ha1234%3C%2FA%3E%2C%3C%2FP%3E%0A%3CP%3EThank%20you%20for%20contacting%20NXP%20Support!%3C%2FP%3E%0A%3CP%3EGStreamer%E2%80%99s%20Python%20bindings%20(gst-python%20%2F%20PyGObject)%20do%20not%20yet%20fully%20support%20Python%203.13.%3CBR%20%2F%3EThe%20failure%20occurs%20inside%20the%20gi.overrides.Gst%20GObject%20Introspection%20layer%2C%20not%20in%20user%20code.%3C%2FP%3E%0A%3CP%3E%3CBR%20%2F%3EAs%20a%20workaround%2C%20it%20is%20necessary%20to%20downgrade%20the%20Python%20version%20used%20in%20the%20system.%3CBR%20%2F%3EIn%20embedded%20Linux%20systems%20built%20with%20Yocto%2C%20this%20can%20be%20done%20by%20rebuilding%20the%20image%20and%20explicitly%20selecting%20a%20supported%20Python%20version%20(e.g.%20Python%203.12)%20in%20local.conf.%3C%2FP%3E%0A%3CP%3E%3CBR%20%2F%3EThis%20ensures%20compatibility%20with%20PyGObject%20and%20allows%20from%20gi.repository%20import%20Gst%20to%20work%20correctly%20at%20runtime.%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EBest%20Regards%2C%3CBR%20%2F%3EAlejandro%20Garcia%3C%2FP%3E%3C%2FLINGO-BODY%3E