From 443c601a326767652a6bc57bee6662fe9fe064e4 Mon Sep 17 00:00:00 2001 From: Ben Nuttall Date: Wed, 26 Jul 2017 18:20:51 +0100 Subject: [PATCH] Tidy up faqs page --- docs/faq.rst | 97 ++++++++++++++++++++++++++-------------------------- 1 file changed, 49 insertions(+), 48 deletions(-) diff --git a/docs/faq.rst b/docs/faq.rst index 59f4631..839477c 100644 --- a/docs/faq.rst +++ b/docs/faq.rst @@ -7,6 +7,50 @@ Frequently Asked Questions .. currentmodule:: gpiozero +.. _keep-your-script-running: + +How do I keep my script running? +================================ + +The following script looks like it should turn an LED on:: + + from gpiozero import LED + + led = LED(17) + led.on() + +And it does, if you're using the Python (or IPython or IDLE) shell. However, +if you saved this script as a Python file and ran it, it would flash on +briefly, then the script would end and it would turn off. + +The following file includes an intentional :func:`~signal.pause` to keep the +script alive:: + + from gpiozero import LED + from signal import pause + + led = LED(17) + led.on() + + pause() + +Now the script will stay running, leaving the LED on, until it is terminated +manually (e.g. by pressing Ctrl+C). Similarly, when setting up callbacks on +button presses or other input devices, the script needs to be running for the +events to be detected:: + + from gpiozero import Button + from signal import pause + + def hello(): + print("Hello") + + button = Button(2) + button.when_pressed = hello + + pause() + + My event handler isn't being called? ==================================== @@ -96,65 +140,22 @@ version of gpiozero is available in your Python environment like so: >>> from pkg_resources import require >>> require('gpiozero') - [gpiozero 1.3.2 (/usr/lib/python3/dist-packages)] + [gpiozero 1.4.0 (/usr/lib/python3/dist-packages)] >>> require('gpiozero')[0].version - '1.3.2' + '1.4.0' If you have multiple versions installed (e.g. from ``pip`` and ``apt``) they will not show up in the list returned by the ``require`` method. However, the first entry in the list will be the version that ``import gpiozero`` will import. -If you receive the error "No module named pkg_resources", you need to install -the ``pip`` utility. This can be done with the following command in Raspbian: +If you receive the error ``No module named pkg_resources``, you need to install +``pip``. This can be done with the following command in Raspbian: .. code-block:: console - $ sudo apt install python-pip + $ sudo apt install python3-pip Alternatively, install pip with `get-pip`_. .. _get-pip: https://pip.pypa.io/en/stable/installing/ - - -.. _keep-your-script-running: - -How do I keep my script running? -================================ - -The following script looks like it should turn an LED on:: - - from gpiozero import LED - - led = LED(17) - led.on() - -And it does, if you're using the Python (or IPython or IDLE) shell. However, -if you saved this script as a Python file and ran it, it would flash on -briefly, then the script would end and it would turn off. - -The following file includes an intentional :func:`~signal.pause` to keep the -script alive:: - - from gpiozero import LED - from signal import pause - - led = LED(17) - led.on() - pause() - -Now the script will stay running, leaving the LED on, until it is terminated -manually (e.g. by pressing Ctrl+C). Similarly, when setting up callbacks on -button presses or other input devices, the script needs to be running for the -events to be detected:: - - from gpiozero import Button - from signal import pause - - def hello(): - print("Hello") - - button = Button(2) - button.when_pressed = hello - pause() -