Utilizar terminal shell do software thony python instalado do raspberry pi 3 b

Essa mensagem esta dentro do terminal (Shell) do Thonny Python
Py

thon 3.7.7.3 (/urr/bin/python3)

\Run app.py
Revisão Rasoberry PI 3
Versão RPi.GPIO 0.7.0
Versão 1.0
Voce deve executar o programa como super-usuario!
Exemplo:
Sudo python {0}

Como faço para executar o terminal Shell como super usuario?

você está em uma conta de super usuário?,
se sim tente escrever o mesmo código em um bloco de notas e salvar como .py,
abrir o terminal no mesmo local do arquivo e digitar :
sudo python3 programa.py e aperte enter
se o código funcionar, talvez o problema seja do aplicativo

Bom dia Guilherme muito obrigado pela atenção.
Reinstalei o Software no raspberry.
Iniciei o terminal e digitei: SU seguido da senha
em seguida executei o seguinte comando
sudo thonny phyton ide
O software thonny python inicio, abri o arquivo app.py e executei o comando (RUN).
me deparei com esses dois erros, conforme as imagens, poderia por favor me ajudar a solucionar os mesmo estou iniciando meus estudos em python.




#! /usr/bin/python
#-- coding: utf-8 --

import pykeypi as teclado
import sys

if name == ‘main’:
teclado.info()
try:
tecla_pressionada = teclado.keypad()
teclado.print_msg(“Digite a senha de controle de acesso”)

    tam_senha = 0
    senha_acesso = ''
    while tam_senha < 5:
        senha_acesso += str(tecla_pressionada.get_key())
        tam_senha += 1

        print("\rFaltam %d caracteres" % (5-tam_senha))
        sys.stdout.flush()

    teclado.print_msg("Senha: %s" % (senha_acesso))

except KeyboardInterrupt:
    teclado.exit()

teclado.exit()

-- coding: utf-8 --

import sys
import datetime
import os

try:
import RPi.GPIO as GPIO
except ImportError as ie:
print(“Problema ao importar modulo {0}”).format(ie)
sys.exit()

author = “Cleiton Bueno (cleitonrbueno@gmail.com)”
copyright = “Copyright 2014, Cleiton Bueno”
credits = [“Cleiton Bueno”]
license = “MIT”
version = 1.0

def print_msg(msg):
tam = len(msg)+4

print("\n")
print("#"*tam)
print("# %s #" % (msg))
print("#"*tam)

def exit():
GPIO.cleanup()

def info():
print(“Revisao Raspberry PI %d” % (GPIO.RPI_REVISION))
print(“Versao RPi.GPIO %s” % (GPIO.VERSION))
print(“Versao %s” % (version))

class keypad():

# Matriz KeyPad 4x4
__KEYPAD = [
    [1, 2, 3, "A"],
    [4, 5, 6, "B"],
    [7, 8, 9, "C"],
    ["*", 0, "#", "D"]]


__row = [7, 11, 13, 15]
__column = [12, 16, 18, 22]

__last_key = None

def __init__(self):

    # Garantindo que sera executado com permissao de super-usuario
    self.check_user()

    # Iniciando o modo como BOARD e desabilitando os Warnings do Rpi.GPIO
    GPIO.setwarnings(False)
    GPIO.setmode(GPIO.BOARD)

    # Configuro todos os pinos da coluna como OUT e nivel LOW(0V)
    for j in range(len(self.__column)):
        GPIO.setup(self.__column[j], GPIO.OUT)
        GPIO.output(self.__column[j], GPIO.LOW)

    # Configuro todos os pinos da linha como INPUT e Pull-Up
    for i in range(len(self.__row)):
        GPIO.setup(self.__row[i], GPIO.IN, pull_up_down=GPIO.PUD_UP)

    # Configurando as interrupcoes que iram ocorrer em algum dos pinos de linha
    GPIO.add_event_detect(__row[0], GPIO.FALLING, callback=self.trataPino, bouncetime=300)
    GPIO.add_event_detect(__row[1], GPIO.FALLING, callback=self.trataPino, bouncetime=300)
    GPIO.add_event_detect(__row[2], GPIO.FALLING, callback=self.trataPino, bouncetime=300)
    GPIO.add_event_detect(__row[3], GPIO.FALLING, callback=self.trataPino, bouncetime=300)

    self.valor_linha = -1
    self.valor_coluna = -1

def check_user(self):
    if os.geteuid() != 0:
        print("Voce deve executar o programa como super-usuario!")
        print("Exemplo:\nsudo python {0}")
        sys.exit()

def get_key(self):

    self.valor_linha = -1
    self.valor_coluna = -1

    while self.valor_coluna == -1 and self.valor_linha == -1:
        pass

    self.__last_key = self.__KEYPAD[self.valor_linha][self.valor_coluna]

    # Retorna o valor da tecla pressionada baseada na linhaxcoluna
    return self.__KEYPAD[self.valor_linha][self.valor_coluna]

def last_key(self):
    return self.__last_key

def trataPino(self,pino):

    self.valor_linha = self.__row.index(pino)

    for i in range(len(self.__column)):

        GPIO.setup(self.__column[i], GPIO.IN)

        if GPIO.input(pino) == GPIO.HIGH:
            self.valor_coluna = i
            break

    self.restaura_gpio()

def restaura_gpio(self):
    for i in range(len(self.__column)):
        GPIO.setup(self.__column[i], GPIO.OUT)
        GPIO.output(self.__column[i], GPIO.LOW)

oi, eu não tenho nenhuma experiencia com essa biblioteca,
mas olhando o código eu percebi que o comando que deu o erro tem o mesmo nome da função info(), eles são para a mesma função ou não?
o erro da linha 36 mostra que não há nada definido como ‘version’ isso seria uma variável?
se esses comandos não forem muito importantes tente executar o código sem eles