není tu nějakej odborník na Python?
Kolega rozjíždí na Malině evidence docházky a potýká se s problémem, že pokud pustí script v Thonny, tak mu vše projde ok, ale přes cmd ne.
Kód: Vybrat vše
 import RPi.GPIO as GPIO # Import Raspberry Pi GPIO library
import time
from datetime import datetime
from time import sleep
import requests
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import os
import I2C_LCD_driver
import threading
GPIO.setwarnings(False) # Ignore warning for now
GPIO.setmode(GPIO.BOARD) # Use physical pin numbering
GPIO.setup(11, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Set pin 10 to be an input pin and set initial value to be pulled low (off)
GPIO.setup(29, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(35, GPIO.OUT)
GPIO.output(35,False)
tlacitkoA = 0
url = httpskiss.xxxxx.xx8451apidochazka
mylcd = I2C_LCD_driver.lcd()
porovnej_cas = time.strftime(%d.%m.%Y %H%M)
mylcd.lcd_display_string(     Vitejte    , 1)
mylcd.lcd_display_string(                , 2)
time.sleep(3)
mylcd.lcd_display_string(time.strftime(%d.%m.%Y %H%M), 2)
def button_callback(channel)
            global tlacitkoA
            global a
            global mylcd
            print(Zmacknuto tlacitko 1)
            pin_status=GPIO.input(11)
            tlacitkoA = tlacitkoA + 1
            if tlacitkoA == 1
                mylcd.lcd_display_string(     ODCHOD     , 1)
            elif tlacitkoA  1
                mylcd.lcd_display_string(    PRICHOD     , 1)
                tlacitkoA = 0
def hodiny()
    global porovnej_cas
    threading.Timer(1.0, hodiny).start()
    if porovnej_cas != time.strftime(%d.%m.%Y %H%M)
        mylcd.lcd_display_string(time.strftime(%d.%m.%Y %H%M), 2)
        porovnej_cas = time.strftime(%d.%m.%Y %H%M)
hodiny()
GPIO.add_event_detect(11,GPIO.FALLING,bouncetime=1000)
GPIO.add_event_callback(11,button_callback)
while True
    f = open(homepiLOG+datetime.now().strftime('%d-%m-%Y')+.txt,a)
    mylcd.lcd_display_string(    PRICHOD     , 1)
    token = input ('zadej token ')
    data = {cisloImtoken,typZaznamutlacitkoA}
    try
        resp = requests.post(url, json=data)
        print (resp.status_code)
        f.write (datetime.now().strftime('%d-%m-%Y--%H-%M-%S')+ Token +token+ - Prichod(1)Odchod(0) +str(tlacitkoA)+ - Status serveru +str(resp.status_code)+n)
        f.close()
        if resp.status_code == 200
            mylcd.lcd_display_string(       OK       , 1)
            time.sleep(2)
            try
                file = open(homepiLOG+datetime.now().strftime('%d-%m-%Y')+CHYBA.txt,r)
                print (file.read())
                if file.read() is not None
                    file = open(homepiLOG+datetime.now().strftime('%d-%m-%Y')+CHYBA.txt,r)
                    fromaddr = m.migal@sigmasoft.cz
                    toaddr = m.migal@sigmasoft.cz
                    msg = MIMEMultipart()
                    msg['From'] = fromaddr
                    msg['To'] = toaddr
                    msg['Subject'] = Nalezen chybovy soubor
                    body = file.read()
                    msg.attach(MIMEText(body, 'plain'))
                    server = smtplib.SMTP('mail.xxxxxxxx.cz', 25)
                    server.starttls()
                    server.login(fromaddr, s15_28c4)
                    text = msg.as_string()
                    server.sendmail(fromaddr, toaddr, text)
                    server.quit()
                    print (mail poslan )
                    f.close()
                    f = open(homepiLOG+datetime.now().strftime('%d-%m-%Y')+.txt,a)
                    f.write (datetime.now().strftime('%d-%m-%Y--%H-%M-%S')+ Mail s chybarem odeslan +n)
                    f.close()
os.remove(homepiLOG+datetime.now().strftime('%d-%m-%Y')+CHYBA.txt)
            except
                print(Chybovy soubor nenalezen)
    except
        f = open(homepiLOG+datetime.now().strftime('%d-%m-%Y')+CHYBA.txt,a)
        f.write (datetime.now().strftime('%d-%m-%Y--%H-%M-%S')+ Token +token+ - Prichod(1)Odchod(0) +str(tlacitkoA)+n)
        f.close()
        f = open(homepiLOG+datetime.now().strftime('%d-%m-%Y')+.txt,a)
        f.write (datetime.now().strftime('%d-%m-%Y--%H-%M-%S')+ Token +token+ - Prichod(1)Odchod(0) +str(tlacitkoA)+ !!POZOR CHYBA!!+n)
        f.close()
        mylcd.lcd_display_string(ZAPSANO LOKALNE, 1)
        time.sleep(2)
    print ('bylo zadano ' + token + ' Tlacitko 1 ' + str(tlacitkoA))
    tlacitkoA = 0
GPIO.cleanup() # Clean up a ve výsledku mu to hodí chybu:
Kód: Vybrat vše
pi@raspberrypi:~ $ sudo python3 buttons3.py
Traceback (most recent call last):
  File "buttons3.py", line 5, in <module>
    import requests
  File "/usr/lib/python3/dist-packages/requests/__init__.py", line 60, in <module>
    from .packages.urllib3.exceptions import DependencyWarning
ImportError: No module named 'requests.packages.urllib3'
pi@raspberrypi:~ $
Za vyřešení nějaký všimný klidně pošlu. Já vůbec nevím "která páčka"...
Diky moc!
