Os argumentos sql que você passa para
execute
deve estar em uma tupla ou lista, mesmo que haja apenas uma delas. Isso é observado na documentação:
Para vinculação de variáveis posicionais, o segundo argumento deve sempre ser uma sequência, mesmo que contenha uma única variável. E lembre-se que o Python requer uma vírgula para criar uma tupla de elemento único:
Então você precisa fazer assim:
ip ="127.0.0.1"
sql="select count(*) from radacct where nasipaddress=%s"
cur.execute(sql, (ip,))