[Centos4] Python at (@ apenstaartje) geeft een syntax error

Pagina: 1
Acties:

  • Wolf87
  • Registratie: Juli 2004
  • Laatst online: 19:21
Ik heb een heel raar probleem op mijn vps.

Configuratie:
Centos 4
Python 2.3.4

Ik ben al enkele keren tegengekomen dat het @-teken een syntax error geeft in python. Vanavond weer tijdens het opstarten van de fail2ban-client de volgende melding:

File "/usr/bin/fail2ban-client", line 360
    @staticmethod
    ^
SyntaxError: invalid syntax


Ik kan er met geen mogelijkheid achter komen waar dit probleem door ontstaat. Heb al behoorlijk gezocht hier en met google en nog enkele andere manieren, maar er is helemaal niets over te vinden...

  • microsofty710
  • Registratie: Februari 2004
  • Laatst online: 26-10-2025
Volgens mij is het een foutje in het script. De regel had commentaar moeten zijn.
ga met je favorite editor naar regel 360 van het scriptje en gooi er een '#' voor.

(ik heb de source gedownload van 0.7.9 en 0.8.2. Bij de laatste was het commentaar geworden.)

  • Daspeed
  • Registratie: Maart 2001
  • Laatst online: 21:57
code:
1
The @staticmethod form is a function decorator

Misschien zit die feature nog niet in Python 2.3.4

  • phobosdeimos
  • Registratie: Augustus 2007
  • Laatst online: 23:18
Dat type van function decorator (met de @) is pas beschikbaar vanaf versie 2.4 van python.

  • Michael
  • Registratie: Maart 2000
  • Laatst online: 20-01 19:22
Python 2.3 bevat inderdaad nog niet de decorator syntax, je kan dit eenvoudig oplossen door het volgende:

Python:
1
2
3
@staticmethod
def my_function(args):
    pass


te vervangen door

Python:
1
2
3
def my_function(args):
    pass
my_function = staticmethod(my_function)

  • Wolf87
  • Registratie: Juli 2004
  • Laatst online: 19:21
Bedankt allemaal, heb het probleem opgelost door de decorator te vervangen door een functiedefinitie wat Michael aangaf.
Pagina: 1