pyocd / pyocd/pyOCD

non-x86 issue (cmsis-pack-manager dependency)

Open
#1,023 16 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
1.5k
Forks
560
Avg merge
1h 41m
Merged PRs (30d)
3

Description

Trying to run pyocd on Raspberry Pi.

Tried installing dependencies manually and installed pyocd with --no-deps as suggested in installing_on_non_x86.md.
pip3 succeeds installing, but pyocd throws DistributionNotFound at runtime, even when invoked with python3 -m pyocd (see below).

Current workaround is to install from source after removing cmsis-pack-manager from install_requires in setup.py.

$ python3 -m pyocd
Traceback (most recent call last):
  File "/usr/lib/python3.7/runpy.py", line 183, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/usr/lib/python3.7/runpy.py", line 142, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "/usr/lib/python3.7/runpy.py", line 109, in _get_module_details
    __import__(pkg_name)
  File "/home/huesmann/.local/lib/python3.7/site-packages/pyocd/__init__.py", line 21, in <module>
    from . import gdbserver
  File "/home/huesmann/.local/lib/python3.7/site-packages/pyocd/gdbserver/__init__.py", line 17, in <module>
    from .gdbserver import GDBServer
  File "/home/huesmann/.local/lib/python3.7/site-packages/pyocd/gdbserver/gdbserver.py", line 41, in <module>
    from ..rtos import RTOS
  File "/home/huesmann/.local/lib/python3.7/site-packages/pyocd/rtos/__init__.py", line 30, in <module>
    load_plugin_classes_of_type('pyocd.rtos', RTOS, ThreadProvider)
  File "/home/huesmann/.local/lib/python3.7/site-packages/pyocd/core/plugin.py", line 88, in load_plugin_classes_of_type
    plugin = entry_point.load()()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2410, in load
    self.require(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2433, in require
    items = working_set.resolve(reqs, env, installer, extras=self.extras)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 786, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'cmsis-pack-manager>=0.2.7' distribution was not found and is required by the application

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with docs/installing_on_non_x86.md and the dependency declaration in setup.py, then reproduce the python3 -m pyocd failure on a Raspberry Pi or other non-x86 system. Trace the cmsis-pack-manager entry-point loading shown in the report; done means the documented installation starts without DistributionNotFound or requiring a manual setup.py edit.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
devtools, embedded-iot
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.