An error occurs during installation

Hello.
I'm trying to install Octoprint on BananaPi M1.
I get an error occurs during installation.
System: Armbian 23.08.0, Python 3.10.6
Can someone help me with the installation?

login as: octo
octo@192.168.1.60's password:
 ____  ____  _
| __ )|  _ \(_)
|  _ \| |_) | |
| |_) |  __/| |
|____/|_|   |_|

Welcome to Armbian 23.08.0-trunk Jammy with Linux 6.1.37-sunxi

No end-user support: built from trunk

System load:   58%              Up time:       3 min
Memory usage:  7% of 966M       IP:            192.168.1.60
CPU temp:      39Β°C             Usage of /:    6% of 31G
RX today:      4.0 GiB

[ 39 security updates available, 81 updates total: apt upgrade ]
Last check: 2023-10-03 20:12

[ General system configuration (beta): armbian-config ]

octo@Octoprint:~$ cd Octoprint
octo@Octoprint:~/Octoprint$ pip install --no-cache-dir https://get.octoprint.org                                                                                                                                                             /latest
Defaulting to user installation because normal site-packages is not writeable
Collecting https://get.octoprint.org/latest
  Downloading https://get.octoprint.org/latest (6.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.3/6.3 MB 806.5 kB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting pkginfo<2,>=1.9.6
  Downloading pkginfo-1.9.6-py3-none-any.whl (30 kB)
Collecting pydantic<2,>=1.10.7
  Downloading pydantic-1.10.13-py3-none-any.whl (158 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 158.6/158.6 KB 1.1 MB/s eta 0:00:00
Collecting Flask-Login<0.7,>=0.6.2
  Downloading Flask_Login-0.6.2-py3-none-any.whl (17 kB)
Collecting markdown<4,>=3.4.3
  Downloading Markdown-3.4.4-py3-none-any.whl (94 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 94.2/94.2 KB 6.9 MB/s eta 0:00:00
Collecting cachelib<0.11,>=0.10.2
  Downloading cachelib-0.10.2-py3-none-any.whl (18 kB)
Collecting pylru<2,>=1.2.1
  Downloading pylru-1.2.1-py3-none-any.whl (16 kB)
Collecting colorlog<7,>=6.7.0
  Downloading colorlog-6.7.0-py2.py3-none-any.whl (11 kB)
Collecting OctoPrint-FirmwareCheck>=2021.10.11
  Downloading OctoPrint_FirmwareCheck-2021.10.11-py2.py3-none-any.whl (33 kB)
Collecting flask<2.3,>=2.2.3
  Downloading Flask-2.2.5-py3-none-any.whl (101 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 101.8/101.8 KB 7.2 MB/s eta 0:00:00
Collecting Babel<2.13,>=2.12.1
  Downloading Babel-2.12.1-py3-none-any.whl (10.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.1/10.1 MB 2.9 MB/s eta 0:00:00
Collecting OctoPrint-PiSupport>=2023.5.24
  Downloading OctoPrint_PiSupport-2023.7.31-py2.py3-none-any.whl (34 kB)
Collecting OctoPrint-FileCheck>=2021.2.23
  Downloading OctoPrint_FileCheck-2021.2.23-py2.py3-none-any.whl (19 kB)
Collecting tornado<7,>=6.2
  Downloading tornado-6.3.3.tar.gz (509 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 509.9/509.9 KB 1.3 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting pyserial<4,>=3.5
  Downloading pyserial-3.5-py2.py3-none-any.whl (90 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.6/90.6 KB 5.2 MB/s eta 0:00:00
Collecting requests<3,>=2.28.2
  Downloading requests-2.31.0-py3-none-any.whl (62 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.6/62.6 KB 7.0 MB/s eta 0:00:00
Requirement already satisfied: wheel in /usr/lib/python3/dist-packages (from OctoPrint==1.9.2) (0.37.1)
Collecting Click<9,>=8.1.3
  Downloading click-8.1.7-py3-none-any.whl (97 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 97.9/97.9 KB 1.4 MB/s eta 0:00:00
Collecting emoji<3,>=2.2.0
  Downloading emoji-2.8.0-py2.py3-none-any.whl (358 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 358.9/358.9 KB 595.8 kB/s eta 0:00:00
Collecting sarge==0.1.7.post1
  Downloading sarge-0.1.7.post1-py2.py3-none-any.whl (18 kB)
Collecting Flask-Assets<3,>=2.0
  Downloading Flask_Assets-2.0-py3-none-any.whl (8.5 kB)
Collecting werkzeug<2.3,>=2.2.3
  Downloading Werkzeug-2.2.3-py3-none-any.whl (233 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 233.6/233.6 KB 265.1 kB/s eta 0:00:00
Collecting zipstream-ng<2.0.0,>=1.5.0
  Downloading zipstream_ng-1.7.1-py3-none-any.whl (22 kB)
Collecting blinker<2,>=1.6.1
  Downloading blinker-1.6.2-py3-none-any.whl (13 kB)
Collecting PyYAML<7,>=6.0.1
  Downloading PyYAML-6.0.1.tar.gz (125 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 125.2/125.2 KB 512.3 kB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting sentry-sdk<2,>=1.19.1
  Downloading sentry_sdk-1.31.0-py2.py3-none-any.whl (224 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 224.8/224.8 KB 380.6 kB/s eta 0:00:00
Collecting Flask-Limiter<4,>=3.3.0
  Downloading Flask_Limiter-3.5.0-py3-none-any.whl (28 kB)
Collecting feedparser<7,>=6.0.10
  Downloading feedparser-6.0.10-py3-none-any.whl (81 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 81.1/81.1 KB 408.2 kB/s eta 0:00:00
Collecting netaddr<0.9,>=0.8
  Downloading netaddr-0.8.0-py2.py3-none-any.whl (1.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 927.7 kB/s eta 0:00:00
Collecting websocket-client<2,>=1.5.1
  Downloading websocket_client-1.6.3-py3-none-any.whl (57 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 57.3/57.3 KB 7.0 MB/s eta 0:00:00
Collecting wrapt<1.16,>=1.15
  Downloading wrapt-1.15.0-py3-none-any.whl (22 kB)
Collecting zeroconf==0.39.4
  Downloading zeroconf-0.39.4-py3-none-any.whl (106 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 106.4/106.4 KB 1.5 MB/s eta 0:00:00
Requirement already satisfied: netifaces<1,>=0.11 in /usr/lib/python3/dist-packages (from OctoPrint==1.9.2) (0.11.0)
Collecting passlib<2,>=1.7.4
  Downloading passlib-1.7.4-py2.py3-none-any.whl (525 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 525.6/525.6 KB 1.5 MB/s eta 0:00:00
Collecting argon2-cffi<22,>=21.3.0
  Downloading argon2_cffi-21.3.0-py3-none-any.whl (14 kB)
Collecting future<1,>=0.18.3
  Downloading future-0.18.3.tar.gz (840 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 840.9/840.9 KB 1.6 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Collecting watchdog<3,>=2.3.1
  Downloading watchdog-2.3.1-py3-none-manylinux2014_armv7l.whl (80 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 80.6/80.6 KB 6.9 MB/s eta 0:00:00
Collecting psutil<6,>=5.9.4
  Downloading psutil-5.9.5.tar.gz (493 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 493.5/493.5 KB 1.8 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting pathvalidate<3,>=2.5.2
  Downloading pathvalidate-2.5.2-py3-none-any.whl (20 kB)
Collecting Flask-Babel<4,>=3.1.0
  Downloading flask_babel-3.1.0-py3-none-any.whl (9.6 kB)
Collecting class-doc<0.3,>=0.2.6
  Downloading class_doc-0.2.6-py3-none-any.whl (4.7 kB)
Collecting regex
  Downloading regex-2023.10.3.tar.gz (394 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 394.7/394.7 KB 1.7 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Collecting frozendict<3,>=2.3.7
  Downloading frozendict-2.3.8.tar.gz (312 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 312.1/312.1 KB 1.9 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting unidecode
  Downloading Unidecode-1.3.7-py3-none-any.whl (235 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 235.5/235.5 KB 1.0 MB/s eta 0:00:00
Collecting filetype<2,>=1.2.0
  Downloading filetype-1.2.0-py2.py3-none-any.whl (19 kB)
Collecting semantic-version<3,>=2.10.0
  Downloading semantic_version-2.10.0-py2.py3-none-any.whl (15 kB)
Collecting async-timeout>=4.0.1
  Downloading async_timeout-4.0.3-py3-none-any.whl (5.7 kB)
Collecting ifaddr>=0.1.7
  Downloading ifaddr-0.2.0-py3-none-any.whl (12 kB)
Collecting argon2-cffi-bindings
  Downloading argon2-cffi-bindings-21.2.0.tar.gz (1.8 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 1.3 MB/s eta 0:00:00
  Installing build dependencies ... error
  error: subprocess-exited-with-error

  Γ— pip subprocess to install build dependencies did not run successfully.
  β”‚ exit code: 1
  ╰─> [76 lines of output]
      Collecting setuptools>=45
        Using cached setuptools-68.2.2-py3-none-any.whl (807 kB)
      Collecting setuptools_scm>=6.2
        Using cached setuptools_scm-8.0.4-py3-none-any.whl (42 kB)
      Collecting wheel
        Using cached wheel-0.41.2-py3-none-any.whl (64 kB)
      Collecting cffi>=1.0.1
        Using cached cffi-1.16.0.tar.gz (512 kB)
        Installing build dependencies: started
        Installing build dependencies: finished with status 'done'
        Getting requirements to build wheel: started
        Getting requirements to build wheel: finished with status 'done'
        Installing backend dependencies: started
        Installing backend dependencies: finished with status 'done'
        Preparing metadata (pyproject.toml): started
        Preparing metadata (pyproject.toml): finished with status 'done'
      Collecting tomli>=1
        Using cached tomli-2.0.1-py3-none-any.whl (12 kB)
      Collecting packaging>=20
        Using cached packaging-23.2-py3-none-any.whl (53 kB)
      Collecting typing-extensions
        Using cached typing_extensions-4.8.0-py3-none-any.whl (31 kB)
      Collecting pycparser
        Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
      Building wheels for collected packages: cffi
        Building wheel for cffi (pyproject.toml): started
        Building wheel for cffi (pyproject.toml): finished with status 'error'
        error: subprocess-exited-with-error

        Γ— Building wheel for cffi (pyproject.toml) did not run successfully.
        β”‚ exit code: 1
        ╰─> [38 lines of output]
            running bdist_wheel
            running build
            running build_py
            creating build
            creating build/lib.linux-armv7l-3.10
            creating build/lib.linux-armv7l-3.10/cffi
            copying src/cffi/verifier.py -> build/lib.linux-armv7l-3.10/cffi
            copying src/cffi/vengine_gen.py -> build/lib.linux-armv7l-3.10/cffi
            copying src/cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.10/cffi
            copying src/cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.10/cffi
            copying src/cffi/recompiler.py -> build/lib.linux-armv7l-3.10/cffi
            copying src/cffi/pkgconfig.py -> build/lib.linux-armv7l-3.10/cffi
            copying src/cffi/model.py -> build/lib.linux-armv7l-3.10/cffi
            copying src/cffi/lock.py -> build/lib.linux-armv7l-3.10/cffi
            copying src/cffi/ffiplatform.py -> build/lib.linux-armv7l-3.10/cffi
            copying src/cffi/error.py -> build/lib.linux-armv7l-3.10/cffi
            copying src/cffi/cparser.py -> build/lib.linux-armv7l-3.10/cffi
            copying src/cffi/commontypes.py -> build/lib.linux-armv7l-3.10/cffi
            copying src/cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.10/cffi
            copying src/cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.10/cffi
            copying src/cffi/api.py -> build/lib.linux-armv7l-3.10/cffi
            copying src/cffi/_shimmed_dist_utils.py -> build/lib.linux-armv7l-3.10/cffi
            copying src/cffi/_imp_emulation.py -> build/lib.linux-armv7l-3.10/cffi
            copying src/cffi/__init__.py -> build/lib.linux-armv7l-3.10/cffi
            copying src/cffi/_cffi_include.h -> build/lib.linux-armv7l-3.10/cffi
            copying src/cffi/parse_c_type.h -> build/lib.linux-armv7l-3.10/cffi
            copying src/cffi/_embedding.h -> build/lib.linux-armv7l-3.10/cffi
            copying src/cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.10/cffi
            running build_ext
            creating build/temp.linux-armv7l-3.10
            creating build/temp.linux-armv7l-3.10/src
            creating build/temp.linux-armv7l-3.10/src/c
            arm-linux-gnueabihf-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -DFFI_BUILDING=1 -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python3.10 -c src/c/_cffi_backend.c -o build/temp.linux-armv7l-3.10/src/c/_cffi_backend.o
            src/c/_cffi_backend.c:2:10: fatal error: Python.h: No such file or directory
                2 | #include <Python.h>
                  |          ^~~~~~~~~~
            compilation terminated.
            error: command '/usr/bin/arm-linux-gnueabihf-gcc' failed with exit code 1
            [end of output]

        note: This error originates from a subprocess, and is likely not a problem with pip.
        ERROR: Failed building wheel for cffi
      Failed to build cffi
      ERROR: Could not build wheels for cffi, which is required to install pyproject.toml-based projects
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

Γ— pip subprocess to install build dependencies did not run successfully.
β”‚ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
octo@Octoprint:~/Octoprint$

Hello @YourZh !

Have you seen these?

Thx for help.
Solved the problem using python 3.x - pip3 install argon2-cffi-bindings errors - Stack Overflow

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.