WeatherFlow PiConsole - Archive

@peter Unfortunately it does not work. I’ve disabled autostart temporarily and after updating and even rebooting, I still get the same errors. That Pi is also running pihole, but it’s been doing that for months. I’m just mentioning that in case you’re aware of any incompatibilities.

Here’s the lastest output from wfpiconsole start

pi@pi2:~ $ wfpiconsole start
[INFO   ] [Logger      ] Record log in /home/pi/.kivy/logs/kivy_22-12-03_4.txt
[INFO   ] [Kivy        ] v2.0.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. Analysing...
[INFO   ] [Logger      ] Purge 24 log files
[INFO   ] [Logger      ] Purge finished!

  ===================================================
  New version detected                               
  Starting wfpiconsole configuration wizard          
  ===================================================

  Required fields are marked with an asterix (*)     

  API keys
  ---------------------------------
 Traceback (most recent call last):
   File "main.py", line 35, in <module>
     configFile.update()
   File "/home/pi/wfpiconsole/lib/config.py", line 155, in update
     copyConfigKey(newConfig, currentConfig, Section, Key, defaultConfig()[Section][Key])
   File "/home/pi/wfpiconsole/lib/config.py", line 270, in copyConfigKey
     validateAPIKeys(newConfig)
   File "/home/pi/wfpiconsole/lib/config.py", line 531, in validateAPIKeys
     CHECKWX = requests.get(URL, headers=header).json()
   File "/usr/lib/python3/dist-packages/requests/models.py", line 897, in json
     return complexjson.loads(self.text, **kwargs)
   File "/usr/lib/python3/dist-packages/simplejson/__init__.py", line 518, in loads
     return _default_decoder.decode(s)
   File "/usr/lib/python3/dist-packages/simplejson/decoder.py", line 370, in decode
     obj, end = self.raw_decode(s)
   File "/usr/lib/python3/dist-packages/simplejson/decoder.py", line 400, in raw_decode
     return self.scan_once(s, idx=_w(s, idx).end())
 simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Are there other logs I should upload?

@peter ;

I did the update… however piconsole won’t launch now …

I’m attaching results from terminal…

Nevermind … deleted wfpiconsole.ini – and did the configuration over again … it’s up and running !

Sorry about the false alarm.

Thanks again for your hard work on this.

little late for the party, but happy running again. Thanks @peter

Can you try once more? The underlying issue with the third-party API is supposedly fixed so you should be able to run the config correctly

Well, log looks different, but still not working :frowning:

[INFO   ] [Logger      ] Record log in /home/pi/.kivy/logs/kivy_22-12-03_5.txt
[INFO   ] [Kivy        ] v2.0.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   ] [Config      ] Verifying station details
[INFO   ] [Factory     ] 186 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 70, in core_select_lib
    cls = cls()
  File "/home/pi/.local/lib/python3.7/site-packages/kivy/core/window/window_sdl2.py", line 152, in __init__
    super(WindowSDL, self).__init__()
  File "/home/pi/.local/lib/python3.7/site-packages/kivy/core/window/__init__.py", line 982, in __init__
    self.create_window()
  File "/home/pi/.local/lib/python3.7/site-packages/kivy/core/window/window_sdl2.py", line 289, in create_window
    self.get_gl_backend_name())
  File "kivy/core/window/_window_sdl2.pyx", line 226, in kivy.core.window._window_sdl2._WindowSDL2Storage.setup_window
  File "kivy/core/window/_window_sdl2.pyx", line 74, 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 62, in core_select_lib
    fromlist=[modulename], level=0)

[INFO   ] [Text        ] Provider: sdl2

  ===================================================
  New version detected                               
  Starting wfpiconsole configuration wizard          
  ===================================================

  Required fields are marked with an asterix (*)     

  API keys
  ---------------------------------
  No changes required

  Station and device IDs
  ---------------------------------
  No changes required

  Observation units
  ---------------------------------
  No changes required

  Display settings
  ---------------------------------
  No changes required

  "Feels Like" temperature cut-offs
  ---------------------------------
  No changes required

  Primary panel layout
  ---------------------------------
  No changes required

  Secondary panel layout
  ---------------------------------
  No changes required

  System settings
  ---------------------------------
  Updating version number to: v22.12.1

 Traceback (most recent call last):
   File "main.py", line 521, in <module>
     wfpiconsole().run()
   File "/home/pi/.local/lib/python3.7/site-packages/kivy/app.py", line 949, in run
     self._run_prepare()
   File "/home/pi/.local/lib/python3.7/site-packages/kivy/app.py", line 919, 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'

A second attempt to start produces a slightly different log:

[INFO   ] [Logger      ] Record log in /home/pi/.kivy/logs/kivy_22-12-03_7.txt
[INFO   ] [Kivy        ] v2.0.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   ] [Config      ] Verifying station details
[INFO   ] [Factory     ] 186 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 70, in core_select_lib
    cls = cls()
  File "/home/pi/.local/lib/python3.7/site-packages/kivy/core/window/window_sdl2.py", line 152, in __init__
    super(WindowSDL, self).__init__()
  File "/home/pi/.local/lib/python3.7/site-packages/kivy/core/window/__init__.py", line 982, in __init__
    self.create_window()
  File "/home/pi/.local/lib/python3.7/site-packages/kivy/core/window/window_sdl2.py", line 289, in create_window
    self.get_gl_backend_name())
  File "kivy/core/window/_window_sdl2.pyx", line 226, in kivy.core.window._window_sdl2._WindowSDL2Storage.setup_window
  File "kivy/core/window/_window_sdl2.pyx", line 74, 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 62, in core_select_lib
    fromlist=[modulename], level=0)

[INFO   ] [Text        ] Provider: sdl2
 Traceback (most recent call last):
   File "main.py", line 521, in <module>
     wfpiconsole().run()
   File "/home/pi/.local/lib/python3.7/site-packages/kivy/app.py", line 949, in run
     self._run_prepare()
   File "/home/pi/.local/lib/python3.7/site-packages/kivy/app.py", line 919, 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'

Did not fix my issue, I will not be able to get back to it until probably Monday and will post logs.

Ok, are you running on a Pi3 or Pi4? Can you share the output of cat /etc/os-release and lsb_release -a?

Hi Peter,

[INFO   ] [Base        ] Leaving application in progress...
 Traceback (most recent call last):
   File "kivy/properties.pyx", line 861, in kivy.properties.ObservableDict.__getattr__
 KeyError: 'PanelSix'

 During handling of the above exception, another exception occurred:

 Traceback (most recent call last):
   File "/home/pi/.local/lib/python3.7/site-packages/kivy/lang/builder.py", line 242, in create_handler
     return eval(value, idmap), bound_list
   File "/home/pi/wfpiconsole/wfpiconsole.kv", line 1091, in <module>
     pos_hint: {'x': app.CurrentConditions.ids.PanelSix.x/app.window.width, 'y': 2/app.window.height}
   File "kivy/properties.pyx", line 864, in kivy.properties.ObservableDict.__getattr__
 AttributeError: 'super' object has no attribute '__getattr__'

 During handling of the above exception, another exception occurred:

 Traceback (most recent call last):
   File "/home/pi/.local/lib/python3.7/site-packages/kivy/lang/builder.py", line 697, in _apply_rule
     rctx['ids'])
   File "/home/pi/.local/lib/python3.7/site-packages/kivy/lang/builder.py", line 247, in create_handler
     cause=tb)
 kivy.lang.builder.BuilderException: Parser: File "/home/pi/wfpiconsole/wfpiconsole.kv", line 1091:
 ...
    1089:<updateNotification>:
    1090:    size_hint: (None, 76/480)
 >> 1091:    pos_hint: {'x': app.CurrentConditions.ids.PanelSix.x/app.window.width, 'y': 2/app.window.height}
    1092:    width: app.CurrentConditions.ids.PanelSix.size[0]
    1093:    UpdateNotifBackground:
 ...
 AttributeError: 'super' object has no attribute '__getattr__'
   File "/home/pi/.local/lib/python3.7/site-packages/kivy/lang/builder.py", line 242, in create_handler
     return eval(value, idmap), bound_list
   File "/home/pi/wfpiconsole/wfpiconsole.kv", line 1091, in <module>
     pos_hint: {'x': app.CurrentConditions.ids.PanelSix.x/app.window.width, 'y': 2/app.window.height}
   File "kivy/properties.pyx", line 864, in kivy.properties.ObservableDict.__getattr__


 During handling of the above exception, another exception occurred:

 Traceback (most recent call last):
   File "main.py", line 521, in <module>
     wfpiconsole().run()
   File "/home/pi/.local/lib/python3.7/site-packages/kivy/app.py", line 950, in run
     runTouchApp()
   File "/home/pi/.local/lib/python3.7/site-packages/kivy/base.py", line 582, in runTouchApp
     EventLoop.mainloop()
   File "/home/pi/.local/lib/python3.7/site-packages/kivy/base.py", line 347, in mainloop
     self.idle()
   File "/home/pi/.local/lib/python3.7/site-packages/kivy/base.py", line 387, in idle
     Clock.tick()
   File "/home/pi/.local/lib/python3.7/site-packages/kivy/clock.py", line 733, in tick
     self.post_idle(ts, self.idle())
   File "/home/pi/.local/lib/python3.7/site-packages/kivy/clock.py", line 776, in post_idle
     self._process_events()
   File "kivy/_clock.pyx", line 616, in kivy._clock.CyClockBase._process_events
   File "kivy/_clock.pyx", line 649, in kivy._clock.CyClockBase._process_events
   File "kivy/_clock.pyx", line 645, in kivy._clock.CyClockBase._process_events
   File "kivy/_clock.pyx", line 218, in kivy._clock.ClockEvent.tick
   File "/home/pi/wfpiconsole/lib/system.py", line 111, in check_version
     updateNotification(latest_ver).open()
   File "/home/pi/wfpiconsole/panels/update.py", line 31, in __init__
     super().__init__(**kwargs)
   File "/home/pi/.local/lib/python3.7/site-packages/kivy/uix/modalview.py", line 187, in __init__
     super(ModalView, self).__init__(**kwargs)
   File "/home/pi/.local/lib/python3.7/site-packages/kivy/uix/anchorlayout.py", line 68, in __init__
     super(AnchorLayout, self).__init__(**kwargs)
   File "/home/pi/.local/lib/python3.7/site-packages/kivy/uix/layout.py", line 76, in __init__
     super(Layout, self).__init__(**kwargs)
   File "/home/pi/.local/lib/python3.7/site-packages/kivy/uix/widget.py", line 361, in __init__
     rule_children=rule_children)
   File "/home/pi/.local/lib/python3.7/site-packages/kivy/uix/widget.py", line 465, in apply_class_lang_rules
     rule_children=rule_children)
   File "/home/pi/.local/lib/python3.7/site-packages/kivy/lang/builder.py", line 543, in apply
     rule_children=rule_children)
   File "/home/pi/.local/lib/python3.7/site-packages/kivy/lang/builder.py", line 712, in _apply_rule
     e), cause=tb)
 kivy.lang.builder.BuilderException: Parser: File "/home/pi/wfpiconsole/wfpiconsole.kv", line 1091:
 ...
    1089:<updateNotification>:
    1090:    size_hint: (None, 76/480)
 >> 1091:    pos_hint: {'x': app.CurrentConditions.ids.PanelSix.x/app.window.width, 'y': 2/app.window.height}
    1092:    width: app.CurrentConditions.ids.PanelSix.size[0]
    1093:    UpdateNotifBackground:
 ...
 BuilderException: Parser: File "/home/pi/wfpiconsole/wfpiconsole.kv", line 1091:
 ...
    1089:<updateNotification>:
    1090:    size_hint: (None, 76/480)
 >> 1091:    pos_hint: {'x': app.CurrentConditions.ids.PanelSix.x/app.window.width, 'y': 2/app.window.height}
    1092:    width: app.CurrentConditions.ids.PanelSix.size[0]
    1093:    UpdateNotifBackground:
 ...
 AttributeError: 'super' object has no attribute '__getattr__'
   File "/home/pi/.local/lib/python3.7/site-packages/kivy/lang/builder.py", line 242, in create_handler
     return eval(value, idmap), bound_list
   File "/home/pi/wfpiconsole/wfpiconsole.kv", line 1091, in <module>
     pos_hint: {'x': app.CurrentConditions.ids.PanelSix.x/app.window.width, 'y': 2/app.window.height}
   File "kivy/properties.pyx", line 864, in kivy.properties.ObservableDict.__getattr__

   File "/home/pi/.local/lib/python3.7/site-packages/kivy/lang/builder.py", line 697, in _apply_rule
     rctx['ids'])
   File "/home/pi/.local/lib/python3.7/site-packages/kivy/lang/builder.py", line 247, in create_handler
     cause=tb)

And:

pi@raspberrypi:~ $ 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="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

On a PI 3.

Does something trigger this error, or does it happen randomly?

Hi Peter, it’s a Pi4B

pi@pi2:~ $ 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="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
pi@pi2:~ $ lsb_release -a
No LSB modules are available.
Distributor ID:	Raspbian
Description:	Raspbian GNU/Linux 10 (buster)
Release:	10
Codename:	buster

Hi Peter,

No, I can’t start up the application. Even after reboot it does nothing.

Ok, can you send me the contents of your wfpiconsole.ini file in a private message so I can investigate further?

Edit: and did this start happening after yesterday’a update, or was it happening before?

Hi Peter,

Update: I missed the update you have released. Updated it and all fixed again :slight_smile:

Oh, that’s great! I was just about to say I can’t recreate the error you were seeing :rofl:. Glad all is working again

OK, when did this error start happening? Have you deleted your wfpiconsole.ini file and created a new one? Usually, these types of errors happen because of using incompatible hardware and OS, but a Pi4B with Raspberry Pi OS (buster) should be compatible. Can you send me the contents of your wfpiconsole.ini file so I can investigate further?

Hi @Peter.
I don’t know if this has already been addressed here, but I have one idea for improvement.

I have Tempest 2 stations, and both of them due to very bad weather (Czech Republic) where we didn’t see the sun for many days are now already in “Power Save Mode 2” or “Mode 3”.

For one of them I connected a “PBA” today so I am back in full and unrestricted operation, but for the other station I don’t have another PBA yet.

But why am I addressing you, I noticed that when I view the other station where “Power Save Mode 2” is now active (battery only 2.37V), the menu item “Status” shows “Error” and writes 2.37V correctly.

But this is misleading information, because the station is functional, it has only gone into “Power Save Mode 2”, with limited sensor status readings.

Couldn’t the Status item show the actual status, i.e. the “Power Save Modes 1-3” levels, instead of the “Error” message ? And only report “Error” if there is an actual error reading from the API ?

The API probably has that information, I can see it as “Weatherflow Battery Mode Tempest” e.g. integration in Home Assistant.

Thank you very much :+1: :100:
Petr

It started about 2 days ago. I’d left the house for a few hours, and when I came back it wasn’t working. I believe this has probably been running for at least a couple of years; I found a copy of a wfpiconsole.ini file (in another directory) that’s from version 4.01.

I did delete and recreate the .ini file without success. In fact, I got errors while it was creating that file. I don’t know much about how windowing on Pi works (I am pretty fluent in Linux otherwise), but my gut feeling is that something broke in the windowing system, although the display is working. I’ll send you the ini file via DM.

I sent you some info via DM, but I tried one more thing: Normally I simply ssh into my pi, but as a test, I plugged in a keyboard, opened a terminal window, and running wfpiconsole start succeeded.

I ran wfpiconsole autostart from the on-screen terminal window and that worked as well.

It looks like this is now working again but I’d still like to figure out what caused it to stop working in the first place.

Peter, Here is the error I am getting when trying to update the wfpiconsole

!!

/usr/lib/python3/dist-packages/secretstorage/dhcrypto.py:15: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
/usr/lib/python3/dist-packages/secretstorage/util.py:19: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
[✗] Updating Python module
Error: Unable to update Python module: cryptography

/usr/lib/python3/dist-packages/secretstorage/dhcrypto.py:15: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
/usr/lib/python3/dist-packages/secretstorage/util.py:19: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
Looking in indexes: Simple index, piwheels - Simple index
Collecting cryptography==37.0.4
Using cached cryptography-37.0.4.tar.gz (585 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==37.0.4) (1.14.3)
Requirement already satisfied: pycparser in ./.local/lib/python3.7/site-packages (from cffi>=1.12->cryptography==37.0.4) (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
╰─> [194 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-i686-cpython-37
creating build/lib.linux-i686-cpython-37/cryptography
copying src/cryptography/about.py → build/lib.linux-i686-cpython-37/cryptography
copying src/cryptography/init.py → build/lib.linux-i686-cpython-37/cryptography
copying src/cryptography/exceptions.py → build/lib.linux-i686-cpython-37/cryptography
copying src/cryptography/fernet.py → build/lib.linux-i686-cpython-37/cryptography
copying src/cryptography/utils.py → build/lib.linux-i686-cpython-37/cryptography
creating build/lib.linux-i686-cpython-37/cryptography/hazmat
copying src/cryptography/hazmat/init.py → build/lib.linux-i686-cpython-37/cryptography/hazmat
copying src/cryptography/hazmat/_oid.py → build/lib.linux-i686-cpython-37/cryptography/hazmat
creating build/lib.linux-i686-cpython-37/cryptography/x509
copying src/cryptography/x509/init.py → build/lib.linux-i686-cpython-37/cryptography/x509
copying src/cryptography/x509/extensions.py → build/lib.linux-i686-cpython-37/cryptography/x509
copying src/cryptography/x509/certificate_transparency.py → build/lib.linux-i686-cpython-37/cryptography/x509
copying src/cryptography/x509/oid.py → build/lib.linux-i686-cpython-37/cryptography/x509
copying src/cryptography/x509/ocsp.py → build/lib.linux-i686-cpython-37/cryptography/x509
copying src/cryptography/x509/general_name.py → build/lib.linux-i686-cpython-37/cryptography/x509
copying src/cryptography/x509/base.py → build/lib.linux-i686-cpython-37/cryptography/x509
copying src/cryptography/x509/name.py → build/lib.linux-i686-cpython-37/cryptography/x509
creating build/lib.linux-i686-cpython-37/cryptography/hazmat/backends
copying src/cryptography/hazmat/backends/init.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/backends
creating build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/_serialization.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/constant_time.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/hmac.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/keywrap.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/init.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/hashes.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/_cipheralgorithm.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/poly1305.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/_asymmetric.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/padding.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/cmac.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives
creating build/lib.linux-i686-cpython-37/cryptography/hazmat/bindings
copying src/cryptography/hazmat/bindings/init.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/bindings
creating build/lib.linux-i686-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/hmac.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/backend.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/encode_asn1.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/dsa.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x509.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/init.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/hashes.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/aead.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/rsa.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x25519.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/decode_asn1.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/poly1305.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ciphers.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/dh.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ed448.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x448.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ec.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/cmac.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/utils.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ed25519.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/backends/openssl
creating build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/init.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/pkcs7.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/ssh.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/pkcs12.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/base.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/serialization
creating build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/init.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/hotp.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/totp.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/twofactor
creating build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/scrypt.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/init.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/kbkdf.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/concatkdf.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/x963kdf.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/hkdf.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/kdf
creating build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/init.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/aead.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/algorithms.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/modes.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/base.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/ciphers
creating build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/types.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/dsa.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/init.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/rsa.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/x25519.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/dh.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ed448.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/x448.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ec.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/padding.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/utils.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/primitives/asymmetric
creating build/lib.linux-i686-cpython-37/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/init.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/binding.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/_conditional.py → build/lib.linux-i686-cpython-37/cryptography/hazmat/bindings/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 ‘.coveragerc’
warning: no previously-included files found matching ‘codecov.yml’
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-i686-cpython-37/cryptography
creating build/lib.linux-i686-cpython-37/cryptography/hazmat/bindings/_rust
copying src/cryptography/hazmat/bindings/_rust/init.pyi → build/lib.linux-i686-cpython-37/cryptography/hazmat/bindings/_rust
copying src/cryptography/hazmat/bindings/_rust/asn1.pyi → build/lib.linux-i686-cpython-37/cryptography/hazmat/bindings/_rust
copying src/cryptography/hazmat/bindings/_rust/ocsp.pyi → build/lib.linux-i686-cpython-37/cryptography/hazmat/bindings/_rust
copying src/cryptography/hazmat/bindings/_rust/x509.pyi → build/lib.linux-i686-cpython-37/cryptography/hazmat/bindings/_rust
running build_ext
generating cffi module ‘build/temp.linux-i686-cpython-37/_openssl.c’
creating build/temp.linux-i686-cpython-37
running build_rust
/tmp/pip-build-env-gyl4gyvv/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-4.19.0-13-686-pae-i686-with-debian-10.7
      pip: n/a
      setuptools: 65.6.3
      setuptools_rust: 1.5.2
      =============================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.41.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"

Can you share the output of these commands please?

python3 -V
cat /etc/os-release

Are you running on a Raspberry Pi or something else?