Error al instalar Poster (Módulo Python)
-
21-09-2019 - |
Pregunta
Estoy tratando de instalar de rel="nofollow noreferrer"> Chris Atlee para que pueda cargar un archivo usando una consulta HTTP POST desde dentro de mi guión.
En Python 2.3, cuando escribo # python setup.py install
, me sale el siguiente error. La instalación continúa, pero no puedo >>> import poster
más adelante.
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
Cualquier punteros?
Solución
Python 2.3 no tiene soporte para decoradores (eso es lo que es @classmethod) o las listas por comprensión (que es el segundo error), por lo que está bien va a tener que encontrar una versión antigua del cartel, o un palo con urllib / urllib2 para hacer su trabajo de HTTP.
En realidad, parece que fue creado alrededor del cartel de julio de 2008, por lo que hay poco probable que sea una versión que soporta Python 2.3, incluso si se pudiera encontrar la fuente original. Alguna razón en particular que no se puede actualizar a la última Python 2.x al menos?