Package: python3-gpiozero Version: 1.4.1-1.1 Severity: normal Dear Maintainer,
gpiozero fails to work with the Debian kernel (as opposed to the raspberry pi foundation one). With version 1.4.1, I get: Traceback (most recent call last): File "t2.py", line 4, in <module> led = LED(4) File "/usr/lib/python3/dist-packages/gpiozero/devices.py", line 95, in __call__ self = super(GPIOMeta, cls).__call__(*args, **kwargs) File "/usr/lib/python3/dist-packages/gpiozero/output_devices.py", line 141, in __init__ pin, active_high, initial_value, pin_factory=pin_factory File "/usr/lib/python3/dist-packages/gpiozero/output_devices.py", line 47, in __init__ super(OutputDevice, self).__init__(pin, pin_factory=pin_factory) File "/usr/lib/python3/dist-packages/gpiozero/mixins.py", line 69, in __init__ super(SourceMixin, self).__init__(*args, **kwargs) File "/usr/lib/python3/dist-packages/gpiozero/devices.py", line 375, in __init__ pin = self.pin_factory.pin(pin) File "/usr/lib/python3/dist-packages/gpiozero/pins/pi.py", line 73, in pin pin = self.pin_class(self, n) File "/usr/lib/python3/dist-packages/gpiozero/pins/rpigpio.py", line 94, in __init__ super(RPiGPIOPin, self).__init__(factory, number) File "/usr/lib/python3/dist-packages/gpiozero/pins/pi.py", line 241, in __init__ factory.pi_info.physical_pin(repr(self)) File "/usr/lib/python3/dist-packages/gpiozero/pins/__init__.py", line 130, in <lambda> lambda self: self._get_pi_info(), File "/usr/lib/python3/dist-packages/gpiozero/pins/pi.py", line 90, in _get_pi_info self._info = pi_info(self._get_revision()) File "/usr/lib/python3/dist-packages/gpiozero/pins/local.py", line 67, in _get_revision raise PinUnknownPi('unable to locate Pi revision in /proc/cpuinfo') gpiozero.exc.PinUnknownPi: unable to locate Pi revision in /proc/cpuinfo I tried upgrading to the current upstream git tree. I run in another issue, which is caused by missing support in RPi.GPIO: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/gpiozero/pins/pi.py", line 109, in pin pin = self.pins[n] KeyError: 4 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "t2.py", line 4, in <module> led = LED(4) File "/usr/lib/python3/dist-packages/gpiozero/devices.py", line 131, in __call__ self = super(GPIOMeta, cls).__call__(*args, **kwargs) File "/usr/lib/python3/dist-packages/gpiozero/output_devices.py", line 217, in __init__ pin, active_high, initial_value, pin_factory=pin_factory File "/usr/lib/python3/dist-packages/gpiozero/output_devices.py", line 99, in __init__ super(OutputDevice, self).__init__(pin, pin_factory=pin_factory) File "/usr/lib/python3/dist-packages/gpiozero/mixins.py", line 106, in __init__ super(SourceMixin, self).__init__(*args, **kwargs) File "/usr/lib/python3/dist-packages/gpiozero/devices.py", line 545, in __init__ pin = self.pin_factory.pin(pin) File "/usr/lib/python3/dist-packages/gpiozero/pins/pi.py", line 111, in pin pin = self.pin_class(self, n) File "/usr/lib/python3/dist-packages/gpiozero/pins/rpigpio.py", line 132, in __init__ GPIO.setup(self.number, GPIO.IN, self.GPIO_PULL_UPS[self._pull]) RuntimeError: Not running on a RPi! That's due to missing support in RPi.GPIO (see #976114 and https://sourceforge.net/p/raspberry-gpio-python/tickets/191/ ). After fixing RPi.GPIO with the dirty patch I provided in the upstream ticket, gpiozero works fine. However, gpiozero should also work without RPi.GPIO (see the native pin factory in the code). Without RPi.GPIO, I get: /usr/lib/python3/dist-packages/gpiozero/devices.py:289: PinFactoryFallback: Falling back from rpigpio: No module named 'RPi' 'Falling back from %s: %s' % (name, str(e)))) /usr/lib/python3/dist-packages/gpiozero/devices.py:289: PinFactoryFallback: Falling back from rpio: No module named 'RPIO' 'Falling back from %s: %s' % (name, str(e)))) /usr/lib/python3/dist-packages/gpiozero/devices.py:289: PinFactoryFallback: Falling back from pigpio: No module named 'pigpio' 'Falling back from %s: %s' % (name, str(e)))) /usr/lib/python3/dist-packages/gpiozero/devices.py:289: PinFactoryFallback: Falling back from native: [Errno 1] Operation not permitted 'Falling back from %s: %s' % (name, str(e)))) Traceback (most recent call last): File "t2.py", line 4, in <module> led = LED(4) File "/usr/lib/python3/dist-packages/gpiozero/devices.py", line 131, in __call__ self = super(GPIOMeta, cls).__call__(*args, **kwargs) File "/usr/lib/python3/dist-packages/gpiozero/output_devices.py", line 217, in __init__ pin, active_high, initial_value, pin_factory=pin_factory File "/usr/lib/python3/dist-packages/gpiozero/output_devices.py", line 99, in __init__ super(OutputDevice, self).__init__(pin, pin_factory=pin_factory) File "/usr/lib/python3/dist-packages/gpiozero/mixins.py", line 106, in __init__ super(SourceMixin, self).__init__(*args, **kwargs) File "/usr/lib/python3/dist-packages/gpiozero/devices.py", line 536, in __init__ super(GPIODevice, self).__init__(**kwargs) File "/usr/lib/python3/dist-packages/gpiozero/devices.py", line 250, in __init__ Device.pin_factory = Device._default_pin_factory() File "/usr/lib/python3/dist-packages/gpiozero/devices.py", line 290, in _default_pin_factory raise BadPinFactory('Unable to load any default pin factory!') gpiozero.exc.BadPinFactory: Unable to load any default pin factory! This is known upstream, and there's a PR in progress: https://github.com/gpiozero/gpiozero/pull/900 Lucas -- System Information: Debian Release: 10.6 APT prefers stable APT policy: (990, 'stable') Architecture: arm64 (aarch64) Kernel: Linux 5.8.0-0.bpo.2-arm64 (SMP w/4 CPU cores) Kernel taint flags: TAINT_CRAP Locale: LANG=en_DK.UTF-8, LC_CTYPE=C.UTF-8 (charmap=locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory UTF-8), LANGUAGE=en_DK.UTF-8 (charmap=locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory UTF-8) Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages python3-gpiozero depends on: ii python3 3.7.3-1 ii python3-rpi.gpio 0.7.0-0.2 python3-gpiozero recommends no packages. Versions of packages python3-gpiozero suggests: pn python-pigpio <none>