Cannot install ansible-navigator on Raspberry Pi OS

I am having trouble installing ansible-navigator on Raspberry Pi OS–more specifically, I am using the Raspberry Pi OS spin of Q4OS that runs on my Raspberry Pi 5 board.

ansible itself installs fine because it’s in the repos and I can add that fine using apt. Due to ansible-navigator not being installed from those packages (and not being in the repos being used), I decided to follow the officlal docs to install:
https:// docs.ansible. com/projects/ansible/latest/getting_started_ee/setup_environment.html

I initially ran into this with vanilla Raspberry Pi OS but decided to flash my board with Q4OS to rule out anything that stood out with Raspberry Pi OS.

Steps I took which produce same result are:

python -m venv /my/project/dir

source /my/project/dir/activate

/my/project/dir/bin/pip install ansible-navigator

Output from pip install:

lsb_release -a
jumpman@plaything:~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 12 (bookworm)
Release:        12
Codename:       bookworm
ansible --version
jumpman@plaything:~ $ ansible --version
ansible [core 2.14.18]
  config file = None
  configured module search path = ['/home/jumpman/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3/dist-packages/ansible
  ansible collection location = /home/jumpman/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/bin/ansible
  python version = 3.11.2 (main, Apr  8 2026, 01:58:00) [GCC 12.2.0] (/usr/bin/python3)
  jinja version = 3.1.2
  libyaml = True
python -V
jumpman@plaything:~ $ python3 -V
Python 3.11.2
dpkg -l python3*
jumpman@plaything:~ $ dpkg -l python3*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                          Version                    Architecture Description
+++-=============================-==========================-============-===============================================================================
ii  python3                       3.11.2-1                   armhf        interactive high-level object-oriented language (default python3 version)
un  python3-aioquic               <none>                     <none>       (no description available)
un  python3-all                   <none>                     <none>       (no description available)
ii  python3-anyio                 3.6.2-1                    all          Asynchronous compatibility layer (Python 3)
ii  python3-apt                   2.6.0                      armhf        Python 3 interface to libapt-pkg
ii  python3-argcomplete           2.0.0-1                    all          bash tab completion for argparse (for Python 3)
ii  python3-babel                 2.10.3-1                   all          tools for internationalizing Python applications - Python 3.x
un  python3-braceexpand           <none>                     <none>       (no description available)
un  python3-brotli                <none>                     <none>       (no description available)
un  python3-cairo                 <none>                     <none>       (no description available)
ii  python3-certifi               2022.9.24-1                all          root certificates for validating SSL certs and verifying TLS hosts (python3)
ii  python3-cffi-backend:armhf    1.15.1-5+b1                armhf        Foreign Function Interface for Python 3 calling C code - runtime
un  python3-cffi-backend-api-9729 <none>                     <none>       (no description available)
un  python3-cffi-backend-api-max  <none>                     <none>       (no description available)
un  python3-cffi-backend-api-min  <none>                     <none>       (no description available)
ii  python3-chardet               5.1.0+dfsg-2               all          Universal Character Encoding Detector (Python3)
ii  python3-charset-normalizer    3.0.1-2                    all          charset, encoding and language detection (Python 3)
ii  python3-click                 8.1.3-2                    all          Wrapper around optparse for command line utilities - Python 3.x
un  python3-click-threading       <none>                     <none>       (no description available)
ii  python3-colorama              0.4.6-2                    all          Cross-platform colored terminal text in Python - Python 3.x
ii  python3-cryptography          38.0.4-3+deb12u1           armhf        Python library exposing cryptographic recipes and primitives (Python 3)
un  python3-cryptography-vectors  <none>                     <none>       (no description available)
ii  python3-cups:armhf            2.0.1-5+b2                 armhf        Python3 bindings for CUPS
ii  python3-cupshelpers           1.5.18-1                   all          Python utility modules around the CUPS printing system
ii  python3-dbus                  1.3.2-4+b1                 armhf        simple interprocess messaging system (Python 3 interface)
un  python3-debconf               <none>                     <none>       (no description available)
un  python3-dev                   <none>                     <none>       (no description available)
ii  python3-distro                1.8.0-1                    all          Linux OS platform information API
ii  python3-distro-info           1.5                        all          information about distributions' releases (Python 3 module)
ii  python3-distutils             3.11.2-3                   all          distutils package for Python 3.x
un  python3-dkim                  <none>                     <none>       (no description available)
ii  python3-dnspython             2.3.0-1                    all          DNS toolkit for Python 3
un  python3-doc                   <none>                     <none>       (no description available)
un  python3-egenix-mxtexttools    <none>                     <none>       (no description available)
un  python3-gdbm                  <none>                     <none>       (no description available)
ii  python3-gi                    3.42.2-3+b1                armhf        Python 3 bindings for gobject-introspection libraries
ii  python3-gpg                   1.18.0-3+b1                armhf        Python interface to the GPGME GnuPG encryption library (Python 3)
ii  python3-h11                   0.14.0-1.1~deb12u1         all          Pure-Python, bring-your-own-I/O implementation of HTTP/1.1 (Python 3)
ii  python3-h2                    4.1.0-4                    all          Pure-Python3 HTTP/2 State-Machine based protocol implementation in Python
ii  python3-hpack                 4.0.0-2                    all          Pure-Python3 HTTP/2 header encoding (HPACK)
ii  python3-httpcore              0.16.3-1                   all          minimal low-level HTTP client
ii  python3-httplib2              0.20.4-3                   all          comprehensive HTTP client library written for Python3
ii  python3-httpx                 0.23.3-1                   all          next generation HTTP client
ii  python3-hyperframe            6.0.0-1                    all          Pure-Python3 HTTP/2 framing code
ii  python3-idna                  3.3-1+deb12u1              all          Python IDNA2008 (RFC 5891) handling (Python 3)
un  python3-imaging               <none>                     <none>       (no description available)
un  python3-importlib-metadata    <none>                     <none>       (no description available)
un  python3-iptables              <none>                     <none>       (no description available)
ii  python3-jinja2                3.1.2-1+deb12u3            all          small but fast and easy to use stand-alone template engine
ii  python3-jmespath              1.0.1-1                    all          JSON Matching Expressions (Python 3)
ii  python3-kerberos              1.1.14-3.1+b3              armhf        GSSAPI interface module - Python 3.x
ii  python3-ldb                   2:2.6.2+samba4.17.8+dfsg-2 armhf        Python 3 bindings for LDB
ii  python3-lib2to3               3.11.2-3                   all          Interactive high-level object-oriented language (lib2to3)
ii  python3-libcloud              3.4.1-5                    all          unified Python interface into the cloud (Python3 version)
ii  python3-lockfile              1:0.12.2-2.2               all          file locking library for Python — Python 3 library
ii  python3-markdown-it           2.1.0-5                    all          Python port of markdown-it and some its associated plugins
ii  python3-markupsafe            2.1.2-1                    armhf        HTML/XHTML/XML string library
ii  python3-mdurl                 0.1.2-1                    all          Python port of the JavaScript mdurl package
un  python3-migrate               <none>                     <none>       (no description available)
ii  python3-minimal               3.11.2-1                   armhf        minimal subset of the Python language (default python3 version)
ii  python3-netaddr               0.8.0-2                    all          manipulation of various common network address notations (Python 3)
un  python3-notify2               <none>                     <none>       (no description available)
ii  python3-ntlm-auth             1.4.0-2                    all          NTLM low-level Python library
ii  python3-olefile               0.46-3                     all          Python module to read/write MS OLE2 files
un  python3-openssl               <none>                     <none>       (no description available)
ii  python3-packaging             23.0-1                     all          core utilities for python3 packages
un  python3-paramiko              <none>                     <none>       (no description available)
ii  python3-passlib               1.7.4-3                    all          comprehensive password hashing framework
ii  python3-pexpect               4.8.0-4                    all          Python 3 module for automating interactive applications
ii  python3-pil:armhf             9.4.0-1.1+deb12u1          armhf        Python Imaging Library (Python3)
un  python3-pil.imagetk           <none>                     <none>       (no description available)
un  python3-pillow                <none>                     <none>       (no description available)
un  python3-pip                   <none>                     <none>       (no description available)
ii  python3-pip-whl               23.0.1+dfsg-1+rpt1         all          Python package installer (pip wheel)
ii  python3-pkg-resources         66.1.1-1+deb12u2           all          Package Discovery and Resource Access using pkg_resources
un  python3-profiler              <none>                     <none>       (no description available)
ii  python3-ptyprocess            0.7.0-5                    all          Run a subprocess in a pseudo terminal from Python 3
ii  python3-pycryptodome          3.11.0+dfsg1-4             armhf        cryptographic Python library (Python 3)
ii  python3-pygments              2.14.0+dfsg-1              all          syntax highlighting package written in Python 3
ii  python3-pyparsing             3.0.9-1                    all          alternative to creating and executing simple grammars - Python 3.x
ii  python3-renderpm:armhf        3.6.12-1+deb12u1           armhf        python low level render interface
ii  python3-reportlab             3.6.12-1+deb12u1           all          ReportLab library to create PDF documents using Python3
ii  python3-reportlab-accel:armhf 3.6.12-1+deb12u1           armhf        C coded extension accelerator for the ReportLab Toolkit
ii  python3-requests              2.28.1+dfsg-1              all          elegant and simple HTTP library for Python3, built for human beings
ii  python3-requests-kerberos     0.12.0-2                   all          Kerberos/GSSAPI authentication handler for python-requests - Python 3.x
ii  python3-requests-ntlm         1.1.0-3                    all          Adds support for NTLM authentication to the requests library
ii  python3-requests-toolbelt     0.10.1-1                   all          Utility belt for advanced users of python3-requests
ii  python3-resolvelib            0.9.0-2                    all          module to resolve abstract dependencies into concrete ones
ii  python3-rfc3986               1.5.0-2                    all          validating URI references per RFC 3986 - Python 3.x
ii  python3-rich                  13.3.1-1                   all          render rich text, tables, progress bars, syntax highlighting, markdown and more
ii  python3-selinux               3.4-1+b2                   armhf        Python3 bindings to SELinux shared libraries
un  python3-sense-hat             <none>                     <none>       (no description available)
un  python3-setuptools            <none>                     <none>       (no description available)
ii  python3-setuptools-whl        66.1.1-1+deb12u2           all          Python Distutils Enhancements (wheel package)
ii  python3-simplejson            3.18.3-1                   armhf        simple, fast, extensible JSON encoder/decoder for Python 3.x
ii  python3-six                   1.16.0-4                   all          Python 2 and 3 compatibility library
un  python3-smbc                  <none>                     <none>       (no description available)
ii  python3-sniffio               1.2.0-1                    all          detect which async Python library is in use
un  python3-socks                 <none>                     <none>       (no description available)
un  python3-spf                   <none>                     <none>       (no description available)
un  python3-supported-max         <none>                     <none>       (no description available)
un  python3-supported-min         <none>                     <none>       (no description available)
ii  python3-talloc:armhf          2.4.0-f2                   armhf        hierarchical pool based memory allocator - Python3 bindings
ii  python3-tdb                   1.4.8-2                    armhf        Python3 bindings for TDB
un  python3-tk                    <none>                     <none>       (no description available)
ii  python3-toml                  0.10.2-1                   all          library for Tom's Obvious, Minimal Language - Python 3.x
un  python3-translate             <none>                     <none>       (no description available)
un  python3-trio                  <none>                     <none>       (no description available)
un  python3-typing-extensions     <none>                     <none>       (no description available)
ii  python3-tz                    2022.7.1-4                 all          Python3 version of the Olson timezone database
ii  python3-urllib3               1.26.12-1+deb12u3          all          HTTP library with thread-safe connection pooling for Python3
un  python3-venv                  <none>                     <none>       (no description available)
ii  python3-winrm                 0.3.0-4+deb12u1            all          Python 3 library for Windows Remote Management
un  python3-wsgi-intercept        <none>                     <none>       (no description available)
ii  python3-xmltodict             0.13.0-1                   all          Makes working with XML feel like you are working with JSON (Python 3)
ii  python3-yaml                  6.0-3+b1                   armhf        YAML parser and emitter for Python3
ii  python3.11                    3.11.2-6+deb12u7           armhf        Interactive high-level object-oriented language (version 3.11)
un  python3.11-distutils          <none>                     <none>       (no description available)
un  python3.11-doc                <none>                     <none>       (no description available)
un  python3.11-lib2to3            <none>                     <none>       (no description available)
ii  python3.11-minimal            3.11.2-6+deb12u7           armhf        Minimal subset of the Python language (version 3.11)
ii  python3.11-venv               3.11.2-6+deb12u7           armhf        Interactive high-level object-oriented language (pyvenv binary, version 3.11)
un  python3.6-2to3                <none>                     <none>       (no description available)
un  python3.7-2to3                <none>                     <none>       (no description available)
Running pip list from the venv

Package Version


ansible-runner 2.4.3
attrs 26.1.0
bindep 2.14.0
black 26.5.1
bracex 2.6
cffi 2.0.0
click 8.4.2
distro 1.9.0
filelock 3.29.4
Jinja2 3.1.6
lockfile 0.12.2
MarkupSafe 3.0.3
mypy_extensions 1.1.0
packaging 26.2
Parsley 1.3
pathspec 1.0.4
pbr 7.0.3
pexpect 4.9.0
pip 23.0.1
platformdirs 4.10.0
ptyprocess 0.7.0
pycparser 3.0
python-daemon 3.1.2
pytokens 0.4.1
PyYAML 6.0.3
referencing 0.37.0
resolvelib 1.2.1
rpds-py 2026.5.1
ruamel.yaml 0.19.1
ruamel.yaml.clib 0.2.15
setuptools 66.1.1
subprocess-tee 0.4.2
typing_extensions 4.15.0
tzdata 2026.2
wcmatch 10.1
yamllint 1.38.0

As far as I can tell, the Python I have meets the requirements based on official page:
Requires: Python >=3.10

My only guess right now after trying several things I found on Google is that there is something wrong with the environment or image defaults provided by Raspberry Pi OS. Something is either missing or outdated that looks like is required by ansible-navigator which is causing my install attempt to fail.

Not sure but just a guess. Any clues?

TIA

Hi @linuxguru9

Welcome to the Ansible forum! :ansible_pool_mark: :tada:

Your output of ansible --version outside the venv indicates that you likely ran: sudo apt install ansible at some point.

That version of ansible-core (2.14) has been EOL since May 2024: Releases and maintenance — Ansible Community Documentation

I’d recommend that you uninstall it sudo apt remove ansible and use Python Virtual Environments, and it seems you have also been doing that too, so that’s great!

From the pastebin onigurumacffi failed to build, looks like a compiler error, could you please try:

sudo apt install build-essential python3-dev

Then attempt to re-install ansible-navigator with a fresh venv.

Thank you for the guidance.

I have removed the installed ansible package from my system using apt.

I created a new venv and ran same pip install ansible-navigator command from within the venv and got similar error again:

I was curious and decided to install the ansible package (not navigator) from the venv using pip and to my surprise, that worked out fine. No issues installing at least.

When I immediately tried again to install ansible-navigator, I got the same error as linked.

It really doesn’t like installing that package. From the deprecation warning, maybe that wheel package is needed in this case? Is it like a missing dependency for some reason?

Did you install build-essential and python3-dev packages yet?

Yes, forgot to mention those were apparently already installed. It says I have those up to date.

You will additionally need to install:

sudo apt-get install -y libonig-dev libffi-dev

Installation of onigurumacffi pip package is failing because it needs dev headers to compile. Pip package does not have precompiled ARM binaries (wheels) so compilation is necessary. You will possibly encounter other packages like this so just google “how to install pip package XYZ on Raspberry Pi” for the last package that fails to install.