Skip to content

The MacOS version requires an old Python #118

@daladim

Description

@daladim

Hello.

I tried to follow the instructions to run DronCAN GUI.
You're suggesting to use the following:

brew install python3
brew postinstall python3
pip3 install PyQt5
pip3 install git+https://github.com/DroneCAN/gui_tool@master
dronecan_gui_tool

The current Homebrew Python version is 3.14. Install DroneCAN GUI this way fails with a "ImportError: No module named pkg_resources" (even if I manually install setuptools, which is strange).
Anyway, fiddling with Python versions using pyenv, I finally found that the setup works with python 3.7, i.e.

# install python3.7, e.g. by using `pyenv install 3.7`
python3.7 -m venv venv
source venv/bin/activate
pip3 install PyQt5 setuptools
pip3 install git+https://github.com/DroneCAN/gui_tool@master
dronecan_gui_tool

I am not sure what the proper solution is. Should you force an old enough version of Python in your pyproject.toml? Or should you fix the setup code to work on newer Python versions?

Thanks

The exact error
pip3 install git+https://github.com/DroneCAN/gui_tool@master
Looking in indexes: ...
Collecting git+https://github.com/DroneCAN/gui_tool@master
  Cloning https://github.com/DroneCAN/gui_tool (to revision master) to /private/var/folders/z0/tsckjmt549g054mghvnyvfn40000gp/T/pip-req-build-vfd78fb6
  Running command git clone --filter=blob:none --quiet https://github.com/DroneCAN/gui_tool /private/var/folders/z0/tsckjmt549g054mghvnyvfn40000gp/T/pip-req-build-vfd78fb6
  Resolved https://github.com/DroneCAN/gui_tool to commit fc5c5b2b73aa825ade7da723595f6a86f45ff782
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error
  
  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [20 lines of output]
      Traceback (most recent call last):
        File "/Users/name.surname/dronecan/gui_tool/venv3.14-fails/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
          main()
          ~~~~^^
        File "/Users/name.surname/dronecan/gui_tool/venv3.14-fails/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in main
          json_out["return_val"] = hook(**hook_input["kwargs"])
                                   ~~~~^^^^^^^^^^^^^^^^^^^^^^^^
        File "/Users/name.surname/dronecan/gui_tool/venv3.14-fails/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 143, in get_requires_for_build_wheel
          return hook(config_settings)
        File "/private/var/folders/z0/tsckjmt549g054mghvnyvfn40000gp/T/pip-build-env-5hhy02pa/overlay/lib/python3.14/site-packages/setuptools/build_meta.py", line 333, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=[])
                 ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/z0/tsckjmt549g054mghvnyvfn40000gp/T/pip-build-env-5hhy02pa/overlay/lib/python3.14/site-packages/setuptools/build_meta.py", line 301, in _get_build_requires
          self.run_setup()
          ~~~~~~~~~~~~~~^^
        File "/private/var/folders/z0/tsckjmt549g054mghvnyvfn40000gp/T/pip-build-env-5hhy02pa/overlay/lib/python3.14/site-packages/setuptools/build_meta.py", line 317, in run_setup
          exec(code, locals())
          ~~~~^^^^^^^^^^^^^^^^
        File "<string>", line 13, in <module>
      ModuleNotFoundError: No module named 'pkg_resources'
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.

[notice] A new release of pip is available: 26.0 -> 26.0.1
[notice] To update, run: pip install --upgrade pip
ERROR: Failed to build 'git+https://github.com/DroneCAN/gui_tool@master' when getting requirements to build wheel

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions