Note that there are some explanatory texts on larger screens.

plurals
  1. POcrontab with sudo python script
    primarykey
    data
    text
    <p>Alright, I've found something. Not sure how to tackle it. I've seen that this is a common error that comes up in google. The error seems to have something to do with the environment variables or something. Not sure how to handle this:</p> <p>This is the code and it's the part where subprocess is called that leads to the error:</p> <pre><code>#!/usr/bin/python import subprocess import re import sys import time import datetime import gspread # =========================================================================== # Google Account Details # =========================================================================== # Account details for google docs email = 'my_email@gmail.com' password = 'my_password' spreadsheet = 'my_spreadsheet' # =========================================================================== # Example Code # =========================================================================== # Login with your Google account try: gc = gspread.login(email, password) except: print "Unable to log in. Check your email address/password" sys.exit() # Open a worksheet from your spreadsheet using the filename try: worksheet = gc.open(spreadsheet).sheet1 # Alternatively, open a spreadsheet using the spreadsheet's key # worksheet = gc.open_by_key('0BmgG6nO_6dprdS1MN3d3MkdPa142WFRrdnRRUWl1UFE') except: print "Unable to open the spreadsheet. Check your filename: %s" % spreadsheet sys.exit() # Continuously append data while(True): # Run the DHT program to get the humidity and temperature readings! output = subprocess.check_output(["./Adafruit_DHT", "2302", "17"]); print output matches = re.search("Temp =\s+([0-9.]+)", output) if (not matches): time.sleep(3) continue temp1 = float(matches.group(1)) temp = temp1*9/5+32 # added the extra step to converto to fahrenheit # search for humidity printout matches = re.search("Hum =\s+([0-9.]+)", output) if (not matches): time.sleep(3) continue humidity = float(matches.group(1)) print "Temperature: %.1f F" % temp print "Humidity: %.1f %%" % humidity # Append the data in the spreadsheet, including a timestamp try: values = [datetime.datetime.now(), temp, humidity] worksheet.append_row(values) except: print "Unable to append data. Check your connection?" sys.exit() # Wait 30 seconds before continuing or just exit print "Wrote a row to %s" % spreadsheet # time.sleep(60) sys.exit() </code></pre> <p>that's basically it. It works fine using 'sudo python script.py' as long as the Adafruit_DHT program is in the same directory.</p> <p>Here's the error I get:</p> <pre><code>Traceback (most recent call last): File "/home/pi/Adafruit/dht/Ada_temp.py", line 44, in &lt;module&gt; output = subprocess.check_output(["./home/pi/Adafruit/dht/Adafruit_DHT", "2302", "17"]); File "/usr/lib/python2.7/subprocess.py", line 537, in check_output process = Popen(stdout=PIPE, *popenargs, **kwargs) File "/usr/lib/python2.7/subprocess.py", line 679, in __init__ errread, errwrite) File "/usr/lib/python2.7/subprocess.py", line 1259, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory </code></pre> <p>I've tried adding the full path of the c program (Adafruit_DHT), to no avail...</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload