This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How to import Python package into Jython running under Arm Development Studio?

Hello,

I was trying to use some APIs in bitstruct package (from: https://pypi.org/project/bitstruct/) in the Jython script file running under Arm Development Studio (ADS) v2021.2 (using "source dump_reg.py" command),  the dump_reg.py is like as below:


import sys, getopt

from arm_ds.debugger_v1 import Debugger
from arm_ds.debugger_v1 import DebugException
from collections import namedtuple
from bitstruct import *
   debugger = Debugger()
   ec = debugger.getExecutionContext(0)
   ec.getExecutionService().stop()
   ec.getExecutionService().waitForStop(0)
   val = ec.getMemoryService().readMemory32(ADDRESS)
   data_reg_name = namedtuple('Data1', ['a', 'b', 'c', 'd'])
    unpacked = unpack('u1u3u4u24', val)
    data1name = RegName(*unpacked)
    print ( data_reg_name )
But got error message:
ERROR(?): ImportError: No module named bitstruct
How can I fix this?
Thanks
Parents Reply Children
  • Hi Xiaoming

    I suggest you try installing the Python package into the Python 2.7 that comes with Arm DS.

    To do so, first open an Arm DS Command Prompt:

    • On Windows, open an Arm DS Command Prompt from the Start menu
    • On Linux, run the suite_exec utility

    then install it with

    python -m pip install <module>

    Stephen

  • Hi Stephen,

    My system is Windows 10, under Arm DS Command Prompt,  the path setting for ADS is in front of others:

    PATH=C:\Program Files\Arm\Development Studio 2021.2\bin;C:\Program Files\Arm\Development Studio 2021.2\sw\java\bin;C:\ProgramData\Oracle\Java\javapath; ...

    With this, the python used is the one installed outside ADS, its version is 3.X, and it says that module is already installed.

    For Python 2.7 that comes with Arm DS, is there any path needs be specified?

    Thanks

    Xiaoming

  • Hi again Xiaoming,

    Apologies for not getting back to you sooner.  I had mistakenly thought that "pip install" would work, but I can now see that it doesn't.

    Jython in Arm DS is v2.7.2.  Is there 2.x-compatible version of bitstruct available?  It appears to be for CPython 3 only.
    If not, then I'm afraid there isn't an easy way to import the package into Arm DS.

    The only workaround I can think of is to copy the relevant bitstruct code into your Jython project.  That seemed to work for me.

    Hope this helps

    Stephen

  • Hi Stephen,

    Thank you for your help, it worked for me either.

    Xiaoming