Update stalls at Kivy install (100% CPU)

not sure what happens but it starts the Kivy Python Library upgrade and it ends there with a cpu at 100%

Updating WeatherFlow PiConsole 
  ============================== 

  [✓] Checking for updated packages
  [i] No updated packages found

  [i] WeatherFlow PiConsole dependency checks...
  [✓] Checking for git
  [✓] Checking for curl
  [✓] Checking for rng-tools
  [✓] Checking for build-essential
  [✓] Checking for python3-dev
  [✓] Checking for python3-pip
  [✓] Checking for python3-setuptools
  [✓] Checking for libssl-dev
  [✓] Checking for libffi-dev
  [✓] Checking for libatlas-base-dev
  [✓] Checking for jq

  [i] Updating WeatherFlow PiConsole Python modules...
  [✓] Updating Python package manager

  [i] Kivy Python library dependency checks...
  [✓] Checking for pkg-config
  [✓] Checking for libgl1-mesa-dev
  [✓] Checking for libgles2-mesa-dev
  [✓] Checking for libgstreamer1.0-dev
  [✓] Checking for gstreamer1.0-plugins-bad
  [✓] Checking for gstreamer1.0-plugins-base
  [✓] Checking for gstreamer1.0-plugins-good
  [✓] Checking for gstreamer1.0-plugins-ugly
  [✓] Checking for gstreamer1.0-omx
  [✓] Checking for gstreamer1.0-alsa
  [✓] Checking for libmtdev-dev
  [✓] Checking for xclip
  [✓] Checking for xsel
  [✓] Checking for libjpeg-dev
  [✓] Checking for libsdl2-dev
  [✓] Checking for libsdl2-image-dev
  [✓] Checking for libsdl2-mixer-dev
  [✓] Checking for libsdl2-ttf-dev

  [i] Kivy Python library installation check (will be updated)
  [i] Updating Kivy Python library...

when I force stop it we get this

 Error: Unable to install Kivy Python library

 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting https://github.com/kivy/kivy/archive/2.1.0.zip
  Using cached https://github.com/kivy/kivy/archive/2.1.0.zip (24.2 MB)
  Installing build dependencies: started
  Installing build dependencies: still running...
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Requirement already satisfied: Kivy-Garden>=0.1.4 in ./.local/lib/python3.7/site-packages (from Kivy==2.1.0) (0.1.4)
Requirement already satisfied: pygments in /usr/lib/python3/dist-packages (from Kivy==2.1.0) (2.3.1)
Requirement already satisfied: docutils in /usr/lib/python3/dist-packages (from Kivy==2.1.0) (0.14)
Requirement already satisfied: requests in /usr/lib/python3/dist-packages (from Kivy-Garden>=0.1.4->Kivy==2.1.0) (2.21.0)
Building wheels for collected packages: Kivy
  Building wheel for Kivy (pyproject.toml): started
  Building wheel for Kivy (pyproject.toml): finished with status 'canceled'
ERROR: Operation cancelled by user
Traceback (most recent call last):
  File "/usr/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/pi/.local/lib/python3.7/site-packages/pip/__main__.py", line 31, in <module>
    sys.exit(_main())
  File "/home/pi/.local/lib/python3.7/site-packages/pip/_internal/cli/main.py", line 70, in main
    return command.main(cmd_args)
  File "/home/pi/.local/lib/python3.7/site-packages/pip/_internal/cli/base_command.py", line 101, in main
    return self._main(args)
  File "/home/pi/.local/lib/python3.7/site-packages/pip/_internal/cli/base_command.py", line 216, in _main
    self.handle_pip_version_check(options)
  File "/home/pi/.local/lib/python3.7/site-packages/pip/_internal/cli/req_command.py", line 190, in handle_pip_version_check
    pip_self_version_check(session, options)
  File "/home/pi/.local/lib/python3.7/site-packages/pip/_internal/self_outdated_check.py", line 235, in pip_self_version_check
    _get_current_remote_pip_version, session, options
  File "/home/pi/.local/lib/python3.7/site-packages/pip/_internal/self_outdated_check.py", line 191, in _self_version_check_logic
    remote_version_str = state.get(current_time)
  File "/home/pi/.local/lib/python3.7/site-packages/pip/_internal/self_outdated_check.py", line 79, in get
    last_check = datetime.datetime.strptime(self._state["last_check"], _DATE_FMT)
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 724, in exec_module
  File "<frozen importlib._bootstrap_external>", line 818, in get_code
  File "<frozen importlib._bootstrap_external>", line 917, in get_data
KeyboardInterrupt

in log file there is nothing at all written

1 Like

Whoops! I forgot that I made this change. Due to a bunch of compatibility issues between different versions of Python, different versions of Kivy and different Raspberry Pi models, I have had to bump the version of Kivy used by the console. On a Pi3 this version has to be compiled from source and therefore it will take time (maybe 45 mins to an hour). Start the update again, leave it running and it should finish. If after 2 hours it is still working on it, then I will look into it again :frowning:

1 Like

ok, the pi is going to boil a bit but it’ll survive. Will let you know if it melts or finishes the compile :slight_smile: whatever comes first

PS : might add a note on the other page to warn some users :wink:

[✗] Updating Python module
Error: Unable to update Python module: cryptography

Looking in indexes: Simple index, piwheels - Simple index
Collecting cryptography==38.0.1
Using cached cryptography-38.0.1.tar.gz (599 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’
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status ‘done’
Requirement already satisfied: cffi>=1.12 in ./.local/lib/python3.7/site-packages (from cryptography==38.0.1) (1.14.6)
Requirement already satisfied: pycparser in ./.local/lib/python3.7/site-packages (from cffi>=1.12->cryptography==38.0.1) (2.20)
Building wheels for collected packages: cryptography
Building wheel for cryptography (pyproject.toml): started
Building wheel for cryptography (pyproject.toml): finished with status ‘error’
error: subprocess-exited-with-error

× Building wheel for cryptography (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [191 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-armv7l-cpython-37
creating build/lib.linux-armv7l-cpython-37/cryptography
copying src/cryptography/fernet.py → build/lib.linux-armv7l-cpython-37/cryptography
copying src/cryptography/utils.py → build/lib.linux-armv7l-cpython-37/cryptography
copying src/cryptography/about.py → build/lib.linux-armv7l-cpython-37/cryptography
copying src/cryptography/init.py → build/lib.linux-armv7l-cpython-37/cryptography
copying src/cryptography/exceptions.py → build/lib.linux-armv7l-cpython-37/cryptography
creating build/lib.linux-armv7l-cpython-37/cryptography/x509
copying src/cryptography/x509/name.py → build/lib.linux-armv7l-cpython-37/cryptography/x509
copying src/cryptography/x509/certificate_transparency.py → build/lib.linux-armv7l-cpython-37/cryptography/x509
copying src/cryptography/x509/ocsp.py → build/lib.linux-armv7l-cpython-37/cryptography/x509
copying src/cryptography/x509/general_name.py → build/lib.linux-armv7l-cpython-37/cryptography/x509
copying src/cryptography/x509/base.py → build/lib.linux-armv7l-cpython-37/cryptography/x509
copying src/cryptography/x509/extensions.py → build/lib.linux-armv7l-cpython-37/cryptography/x509
copying src/cryptography/x509/oid.py → build/lib.linux-armv7l-cpython-37/cryptography/x509
copying src/cryptography/x509/init.py → build/lib.linux-armv7l-cpython-37/cryptography/x509
creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat
copying src/cryptography/hazmat/init.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat
copying src/cryptography/hazmat/_oid.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat
creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings
copying src/cryptography/hazmat/bindings/init.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings
creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/_serialization.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/keywrap.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/_cipheralgorithm.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/hmac.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/hashes.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/_asymmetric.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/poly1305.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/cmac.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/constant_time.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/init.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/padding.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends
copying src/cryptography/hazmat/backends/init.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends
creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/binding.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/_conditional.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/init.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/openssl
creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/pkcs12.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/pkcs7.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/base.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/ssh.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/init.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/serialization
creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/rsa.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/x448.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ed448.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/utils.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ec.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/dh.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/types.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/init.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/padding.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/dsa.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/x25519.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/hkdf.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/concatkdf.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/x963kdf.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/kbkdf.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/init.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/scrypt.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/algorithms.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/modes.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/base.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/aead.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/init.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/ciphers
creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/hotp.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/totp.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/init.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/twofactor
creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/rsa.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x448.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ed448.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/hmac.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/hashes.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/utils.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ec.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/dh.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ed25519.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x509.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/poly1305.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/backend.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/cmac.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ciphers.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/decode_asn1.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/aead.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/init.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/dsa.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x25519.py → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
running egg_info
writing src/cryptography.egg-info/PKG-INFO
writing dependency_links to src/cryptography.egg-info/dependency_links.txt
writing requirements to src/cryptography.egg-info/requires.txt
writing top-level names to src/cryptography.egg-info/top_level.txt
reading manifest file ‘src/cryptography.egg-info/SOURCES.txt’
reading manifest template ‘MANIFEST.in’
no previously-included directories found matching ‘docs/_build’
warning: no previously-included files found matching ‘vectors’
warning: no previously-included files matching ‘’ found under directory ‘vectors’
warning: no previously-included files matching '
’ found under directory ‘.github’
warning: no previously-included files found matching ‘release.py’
warning: no previously-included files found matching ‘.readthedocs.yml’
warning: no previously-included files found matching ‘dev-requirements.txt’
warning: no previously-included files found matching ‘tox.ini’
warning: no previously-included files found matching ‘mypy.ini’
warning: no previously-included files matching ‘*’ found under directory ‘.circleci’
adding license file ‘LICENSE’
adding license file ‘LICENSE.APACHE’
adding license file ‘LICENSE.BSD’
adding license file ‘LICENSE.PSF’
writing manifest file ‘src/cryptography.egg-info/SOURCES.txt’
copying src/cryptography/py.typed → build/lib.linux-armv7l-cpython-37/cryptography
copying src/cryptography/hazmat/bindings/_openssl.pyi → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings
creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust
copying src/cryptography/hazmat/bindings/_rust/init.pyi → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust
copying src/cryptography/hazmat/bindings/_rust/asn1.pyi → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust
copying src/cryptography/hazmat/bindings/_rust/ocsp.pyi → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust
copying src/cryptography/hazmat/bindings/_rust/x509.pyi → build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust
running build_ext
running build_rust
/tmp/pip-build-env-3bj_8t5m/overlay/lib/python3.7/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing ‘cryptography.hazmat.bindings._rust’ as data is deprecated, please list it in packages.
!!

      ############################
      # Package would be ignored #
      ############################
      Python recognizes 'cryptography.hazmat.bindings._rust' as an importable package,
      but it is not listed in the `packages` configuration of setuptools.

      'cryptography.hazmat.bindings._rust' has been automatically added to the distribution only
      because it may contain data files, but this behavior is likely to change
      in future versions of setuptools (and therefore is considered deprecated).

      Please make sure that 'cryptography.hazmat.bindings._rust' is included as a package by using
      the `packages` configuration field or the proper discovery methods
      (for example by using `find_namespace_packages(...)`/`find_namespace:`
      instead of `find_packages(...)`/`find:`).

      You can read more about "package discovery" and "data files" on setuptools
      documentation page.


  !!

    check.warn(importable)

      =============================DEBUG ASSISTANCE=============================
      If you are seeing a compilation error please try the following steps to
      successfully install cryptography:
      1) Upgrade to the latest pip and try again. This will fix errors for most
         users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
      2) Read https://cryptography.io/en/latest/installation/ for specific
         instructions for your platform.
      3) Check our frequently asked questions for more information:
         https://cryptography.io/en/latest/faq/
      4) Ensure you have a recent Rust toolchain installed:
         https://cryptography.io/en/latest/installation/#rust

      Python: 3.7.3
      platform: Linux-5.10.103-v7l+-armv7l-with-debian-10.13
      pip: n/a
      setuptools: 67.4.0
      setuptools_rust: 1.5.2
      rustc: n/a
      =============================DEBUG ASSISTANCE=============================

  error: can't find Rust compiler

  If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler.

  To update pip, run:

      pip install --upgrade pip

  and then retry package installation.

  If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and update the Rust compiler toolchain.

  This package requires Rust >=1.48.0.
  [end of output]

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

pi@weatherflowpi:~ $

Yep it’s not ideal! I think at some point I am going to have to drop support for the Pi3. The console only works on the legacy version of Raspberry Pi OS, which is running the much outdated Python 3.7, which is slowly creating more and more compatibility issues. I don’t have this issue on the Pi4 as that can use pre-compiled versions of Kivy that install in an instant

PS : might add a note on the other page to warn some users :wink:

Just done that!

I assume you are running on a Pi4? Can you confirm that you are using the latest Bullseye version of Raspberry Pi OS?

pi@weatherflowpi:~ $ cat /etc/os-release
PRETTY_NAME=“Raspbian GNU/Linux 10 (buster)”
NAME=“Raspbian GNU/Linux”
VERSION_ID=“10”
VERSION=“10 (buster)”
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL=“http://www.raspbian.org/
SUPPORT_URL=“RaspbianForums - Raspbian
BUG_REPORT_URL=“RaspbianBugs - Raspbian

as long you can find them and at a reasonable price … and those pi3 are still valuable little computers …

1 Like

Yep, completely understood. I am still running my console on a Pi3 so I will keep it going for as long as possible! It would be easier if there weren’t so many supply shortages

2 Likes

Ah OK, I’m really sorry but you are going to have to reinstall the latest Bullseye version of Raspberry Pi OS on your Pi4. You currently have the legacy Buster version which is causing the issues you are seeing

Thank you - Hadn’t realized I was so far behind. wfpiconsole has been very stable and not needed any attention! upgrade in process

1 Like

already compiled and back up :slight_smile:

1 Like

Tried the update. . . ERROR [Config ] Unable to fetch station metadata

wfpiconcole start . . . several errors.

How do I roll it back to v22.12.3 ?

$$

I’m still a “rookie” at this stuff. . .I know enough to be very dangerous when it comes to doing computer updates. . .but I just ran ‘wfpiconsole stable’ and the display updated.
now showing " Current version: v23.3.1 "

OK, updated my Pi4 from Buster to Bullseye. That mostly went fine except that it turned off the WiFi. Had to dig out a USB keyboard and mouse to reenable. Then I had to install Python 3 and Rust. Had to change python to point to python3 instead of python2. The Rust install seemed to go fine. Running wfpiconsole update took a while in the cryptography module, but updated cleanly. Now something is wrong in Kivy:

pi@weatherflowpi:~ $ wfpiconsole start
[INFO ] [Logger ] Record log in /home/pi/.kivy/logs/kivy_23-03-03_18.txt
[INFO ] [Kivy ] v2.1.0
[INFO ] [Kivy ] Installed at “/home/pi/.local/lib/python3.7/site-packages/kivy/init.py”
[INFO ] [Python ] v3.7.3 (default, Oct 31 2022, 14:04:00)
[GCC 8.3.0]
[INFO ] [Python ] Interpreter at “/usr/bin/python3”
[INFO ] [Logger ] Purge log fired. Processing…
[INFO ] [Logger ] Purge finished!
[INFO ] [Config ] Verifying station details
[INFO ] [Factory ] 189 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored)
[INFO ] [Window ] Provider: sdl2
[CRITICAL] [Window ] Unable to find any valuable Window provider. Please enable debug logging (e.g. add -d if running from the command line, or change the log level in the config) and re-run your app to identify potential causes
sdl2 - RuntimeError: b’Could not initialize EGL’
File “/home/pi/.local/lib/python3.7/site-packages/kivy/core/init.py”, line 71, in core_select_lib
cls = cls()
File “/home/pi/.local/lib/python3.7/site-packages/kivy/core/window/window_sdl2.py”, line 165, in init
super(WindowSDL, self).init()
File “/home/pi/.local/lib/python3.7/site-packages/kivy/core/window/init.py”, line 1071, in init
self.create_window()
File “/home/pi/.local/lib/python3.7/site-packages/kivy/core/window/window_sdl2.py”, line 309, in create_window
self.get_gl_backend_name())
File “kivy/core/window/_window_sdl2.pyx”, line 228, in kivy.core.window._window_sdl2._WindowSDL2Storage.setup_window
File “kivy/core/window/_window_sdl2.pyx”, line 76, in kivy.core.window._window_sdl2._WindowSDL2Storage.die

x11 - ModuleNotFoundError: No module named ‘kivy.core.window.window_x11’
File “/home/pi/.local/lib/python3.7/site-packages/kivy/core/init.py”, line 63, in core_select_lib
fromlist=[modulename], level=0)
File “”, line 1086, in import
File “”, line 1006, in _gcd_import
File “”, line 983, in _find_and_load
File “”, line 965, in _find_and_load_unlocked

[INFO ] [Text ] Provider: sdl2([‘text_pango’] ignored)
Traceback (most recent call last):
File “main.py”, line 521, in
wfpiconsole().run()
File “/home/pi/.local/lib/python3.7/site-packages/kivy/app.py”, line 954, in run
self._run_prepare()
File “/home/pi/.local/lib/python3.7/site-packages/kivy/app.py”, line 924, in _run_prepare
root = self.build()
File “main.py”, line 190, in build
self.setScaleFactor(self.window, self.window.width, self.window.height)
AttributeError: ‘NoneType’ object has no attribute ‘width’
pi@weatherflowpi:~ $

Hmmm, sounds like since I’m running on a Pi 3 I want to freeze at version I currently have!

As always, thank you very much @peter :+1:

My PiConsole runs on a Pi3, no problem with the update - and it didn’t even take that long, I estimate around 1/2 hour…

The Pi3 didn’t get too hot😀

Not necessarily. As long as you are patient, the update should run perfectly well on a Pi3

How did you upgrade from Buster to Bullseye? I have a feeling you may have tried an in place upgrade rather than flashing your SD card with a brand new image. If so, it’s best to grab a new image from here: Operating system images – Raspberry Pi and start from there

Sounds like you managed to get it fixed?

Thank you, Peter. I came to the same conclusion! Reinstalled with your curl script. All seemed to go fine to a point. I copied the API keys from my old ini file and entered those on startup. No errors, but no display and the script just seems to hang:

Station and device IDs

Please enter your Station ID*: 24397
Do you own a TEMPEST?* [y/n] y
Please enter your TEMPEST device ID*: 160378
Do you own an Indoor AIR?* [y/n] n
[INFO ] [Factory ] 189 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored)
[INFO ] [Window ] Provider: sdl2
[INFO ] [GL ] Using the “OpenGL ES 2” graphics system
[INFO ] [GL ] Backend used
[INFO ] [GL ] OpenGL version <b’2.1 Mesa 20.3.5’>
[INFO ] [GL ] OpenGL vendor <b’Broadcom’>
[INFO ] [GL ] OpenGL renderer <b’V3D 4.2’>
[INFO ] [GL ] OpenGL parsed version: 2, 1
[INFO ] [GL ] Shading version <b’1.20’>
[INFO ] [GL ] Texture max size <4096>
[INFO ] [GL ] Texture max units <16>
[INFO ] [Window ] auto add sdl2 input provider
[INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
[INFO ] [Text ] Provider: sdl2([‘text_pango’] ignored)
[INFO ] [GL ] NPOT texture support is available
Unable to connect to X server
[INFO ] [Websocket ] 2023-03-03 10:56:03 - Opening connection
[INFO ] [ProbeSysfs ] device match: /dev/input/event6
[INFO ] [HIDInput ] Read event from </dev/input/event6>
[INFO ] [Base ] Start application main loop
[INFO ] [HIDMotionEvent] using <generic ft5x06 (79)>
[INFO ] [HIDMotionEvent] <generic ft5x06 (79)> range ABS X position is 0 - 799
[INFO ] [HIDMotionEvent] <generic ft5x06 (79)> range ABS Y position is 0 - 479
[INFO ] [HIDMotionEvent] <generic ft5x06 (79)> range position X is 0 - 799
[INFO ] [HIDMotionEvent] <generic ft5x06 (79)> range position Y is 0 - 479
[INFO ] [Websocket ] 2023-03-03 10:56:04 - Connection open