Frage

Ich versuche zu installieren Chris Atlee der Python Poster Bibliothek so dass ich eine Datei hochladen kann mit ein HTTP-POST-Abfrage aus meinem Skript.

Auf Python 2.3, wenn ich # python setup.py install geben, erhalte ich die folgende Fehlermeldung. Die Installation geht weiter, aber ich kann nicht >>> import poster später.

byte-compiling build/bdist.linux-x86_64/egg/poster/encode.py to encode.pyc
  File "build/bdist.linux-x86_64/egg/poster/encode.py", line 112
    @classmethod
    ^
SyntaxError: invalid syntax
byte-compiling build/bdist.linux-x86_64/egg/poster/streaminghttp.py to streaminghttp.pyc
  File "build/bdist.linux-x86_64/egg/poster/streaminghttp.py", line 114
    newheaders = dict((k,v) for k,v in req.headers.items()
                              ^
SyntaxError: invalid syntax
byte-compiling build/bdist.linux-x86_64/egg/poster/__init__.py to __init__.pyc

Alle Zeiger?

War es hilfreich?

Lösung

Python 2.3 hat keine Unterstützung für Dekorateure (das ist, was @classmethod ist) oder Listenkomprehensionen (das ist der zweite Fehler ist), so dass Sie entweder eine ältere Version von Poster, oder Stick mit urllib gehen zu müssen, finden / urllib2 für HTTP-Arbeit zu tun.

Eigentlich sieht es aus wie Poster etwa im Juli erstellt wurde 2008, so dass es unwahrscheinlich ist, eine Version zu sein, dass unterstützt Python 2.3, auch wenn Sie die ursprüngliche Quelle gefunden. Ein besonderer Grund Sie können nicht auf das neuesten Python 2.x mindestens ein Upgrade?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top