Nrpgio Python command not running

Hi,

I'm setting up some test flows to test out my projects integration to GitHub and Balena. I created a very simple flow of an inject node, a trigger node and a GPIO out node to turn on and off an LED.

The issue is that for some reason I am hit with this error:
[error] [rpi-gpio out:5508a8b9.eff008] nrpgio python command not running

I am using a fresh install of rasbian from the most recent NOOBS from https://www.raspberrypi.org/downloads/noobs/

I have not updated anything since installing the NOOBS. I am using the node-red version that came bundled with the OS.

Can anyone suggest what could be causing this error?

Do I need to add the python script to the Node-Red project?

Thanks,
Gregor

The version delivered with raspbian is not up to date.
Follow this installation guide.

Thanks for the response. I tried using the command from your link but this was the response:
image

Please read the guide again:

bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)

Sorry, apparently I can't read - I'll run the bash script just now.

Thanks

1 Like

Hi, even after the update I am still getting the same error. Any ideas?

I can't think what could be causing it. The only thing I've done differently from normal is that I'm using the projects, could it be something to do with that?

Can you restart node-red and post the first part of the output log until the part it says it’s available on :? Sounds like there might still be a version mismatch somewhere. It will also show the exact error you’re getting.

As for the python script, it is bundled with the gpio node. It should be run by the output node in the background to interact.

Hi afelix,

Here is the whole output from starting Node-red:

pi@MSAT-Master:~ $ node-red-stop && node-red-start

Stop Node-RED
 
Use   node-red-start   to start Node-RED again
 

Start Node-RED
 
Once Node-RED has started, point a browser at http://192.168.1.107:1880
On Pi Node-RED works better with the Firefox or Chrome browser
 
Use   node-red-stop                          to stop Node-RED
Use   node-red-start                         to start Node-RED again
Use   node-red-log                           to view the recent log output
Use   sudo systemctl enable nodered.service  to autostart Node-RED at every boot
Use   sudo systemctl disable nodered.service to disable autostart on boot
 
To find more nodes and example flows - go to http://flows.nodered.org
 
Starting as a systemd service.
26 Sep 12:31:02 - [info]
Welcome to Node-RED
===================
26 Sep 12:31:02 - [info] Node-RED version: v0.20.8
26 Sep 12:31:02 - [info] Node.js  version: v10.16.3
26 Sep 12:31:02 - [info] Linux 4.19.57-v7l+ arm LE
26 Sep 12:31:03 - [info] Loading palette nodes
26 Sep 12:31:05 - [info] Dashboard version 2.16.3 started at /ui
26 Sep 12:31:06 - [info] Settings file  : /home/pi/.node-red/settings.js
26 Sep 12:31:06 - [info] Context store  : 'default' [module=memory]
26 Sep 12:31:06 - [info] User directory : /home/pi/.node-red
26 Sep 12:31:06 - [info] Server now running at http://127.0.0.1:1880/
26 Sep 12:31:06 - [info] Active project : MSAT-EC-Twinfan
26 Sep 12:31:06 - [info] Flows file     : /home/pi/.node-red/projects/MSAT-EC-Twinfan/flows_MSAT-Master_EC-Twinfan.json
26 Sep 12:31:06 - [info] Starting flows
26 Sep 12:31:06 - [info] Started flows
26 Sep 12:31:06 - [error] [rpi-gpio out:5508a8b9.eff008] nrpgio python command not running

Okay have an idea now, can you upload both your package.json as well as package_lock.json?

Hi, will this be in the project folder or the .node-red folder?

Project folder

Could it be this?
https://www.raspberrypi.org/forums/viewtopic.php?t=216925

Okay, so in the project folder there is a package.json but no package_lock.json.

package.json (684 Bytes)

Should there be a package_lock.json in the projects folder?

Pretty sure it’s that. The error matches the “python command not found” error message. My gut says there’s a version mismatch/incompatibility somewhere

What would you suggest my next step? I'm out of my depth with this sort of stuff - it normally works fine from the fresh install.

https://linuxconfig.org/how-to-change-from-default-to-alternative-python-version-on-debian-linux

Check to see what is the default first. we are guessing it is v3

I’m going to check the python code to see if there’s actually an incompatibility, and if so do a PR to make it able to handle both versions if possible.

image

Apparently my default python is 2.7.16

yeah, and the code is already compatible so it should execute...

Can you execute the following commands from the terminal:
ls -ahl /usr/lib/node_modules/node-red/node_modules/@node-red/nodes/core/hardware/
Then, if that doesn't give an error test the following:
python /usr/lib/node_modules/node-red/node_modules/@node-red/nodes/core/hardware/nrgpio.py

If that gives the following error

Traceback (most recent call last):
  File "nrgpio.py", line 17, in <module>
    import RPi.GPIO as GPIO
ModuleNotFoundError: No module named 'RPi'

your next step should be to install the RPi python module on the device. To install that in the global python system that executes at /usr/bin/python, type sudo pip install RPi.GPIO.

If it doesn't get that error, I've no clue at all what is going wrong here.

Hi afelix,

Thanks for the detailed instructions. I've run these commands and am getting this response:

Unfortunately not the same error as you had.

Thanks

Edit: Is this because I'm running it without providing the parameters that node-red would?