Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 4907

Troubleshooting • Re: Trouble with gpio Button instantiation in virtual environment.

$
0
0
Pi 5 bookworm
6.6.20+rpt-rpi-v7 kernel

Code:

(.venv) production@duplicator:~ $ sudo -E pythonPython 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0] on linuxType "help", "copyright", "credits" or "license" for more information.>>> from gpiozero import Button>>> b=Button(15)Traceback (most recent call last):  File "/usr/lib/python3/dist-packages/gpiozero/pins/native.py", line 237, in export    result = self._exports[pin]             ~~~~~~~~~~~~~^^^^^KeyError: 15During handling of the above exception, another exception occurred:Traceback (most recent call last):  File "/usr/lib/python3/dist-packages/gpiozero/pins/native.py", line 247, in export    result = os.open(self.path_value(pin),             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^FileNotFoundError: [Errno 2] No such file or directory: '/sys/class/gpio/gpio15/value'During handling of the above exception, another exception occurred:Traceback (most recent call last):  File "<stdin>", line 1, in <module>  File "/usr/lib/python3/dist-packages/gpiozero/devices.py", line 103, in __call__    self = super().__call__(*args, **kwargs)           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  File "/usr/lib/python3/dist-packages/gpiozero/input_devices.py", line 412, in __init__    super().__init__(  File "/usr/lib/python3/dist-packages/gpiozero/mixins.py", line 417, in __init__    super().__init__(*args, **kwargs)  File "/usr/lib/python3/dist-packages/gpiozero/input_devices.py", line 167, in __init__    self.pin.edges = 'both'    ^^^^^^^^^^^^^^  File "/usr/lib/python3/dist-packages/gpiozero/pins/__init__.py", line 441, in <lambda>    lambda self, value: self._set_edges(value),                        ^^^^^^^^^^^^^^^^^^^^^^  File "/usr/lib/python3/dist-packages/gpiozero/pins/native.py", line 519, in _set_edges    self.factory.fs.export(self._number)  File "/usr/lib/python3/dist-packages/gpiozero/pins/native.py", line 251, in export    with io.open(self.path('export'), 'wb') as f:OSError: [Errno 22] Invalid argument
@memjr, thank you for the explanation.

If I run

Code:

sudo /home/user/.venv/bin/python
and attempt to instance a button from gpiozero I get a failed to add edge detection error:

Code:

(.venv) user@duplicator:~ $ sudo /home/user/.venv/bin/pythonPython 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0] on linuxType "help", "copyright", "credits" or "license" for more information.>>> import gpiozero>>> b = gpiozero.Button(15)/home/user/.venv/lib/python3.11/site-packages/gpiozero/devices.py:300: PinFactoryFallback: Falling back from lgpio: No module named 'lgpio'  warnings.warn(Traceback (most recent call last):  File "<stdin>", line 1, in <module>  File "/home/user/.venv/lib/python3.11/site-packages/gpiozero/devices.py", line 108, in __call__    self = super().__call__(*args, **kwargs)           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  File "/home/user/.venv/lib/python3.11/site-packages/gpiozero/input_devices.py", line 412, in __init__    super().__init__(  File "/home/user/.venv/lib/python3.11/site-packages/gpiozero/mixins.py", line 417, in __init__    super().__init__(*args, **kwargs)  File "/home/user/.venv/lib/python3.11/site-packages/gpiozero/input_devices.py", line 168, in __init__    self.pin.when_changed = self._pin_changed    ^^^^^^^^^^^^^^^^^^^^^  File "/home/user/.venv/lib/python3.11/site-packages/gpiozero/pins/__init__.py", line 471, in <lambda>    lambda self, value: self._set_when_changed(value),                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  File "/home/user/.venv/lib/python3.11/site-packages/gpiozero/pins/pi.py", line 639, in _set_when_changed    self._enable_event_detect()  File "/home/user/.venv/lib/python3.11/site-packages/gpiozero/pins/rpigpio.py", line 220, in _enable_event_detect    GPIO.add_event_detect(RuntimeError: Failed to add edge detection

Statistics: Posted by momentumv — Thu Jul 11, 2024 4:45 pm



Viewing all articles
Browse latest Browse all 4907

Trending Articles