Errore durante l'installazione poster (Python Module)
-
21-09-2019 - |
Domanda
Sto cercando di installare Atlee in modo da poter caricare un file utilizzando una query HTTP POST da dentro il mio script.
In Python 2.3, quando digito # python setup.py install
, ottengo il seguente errore. L'installazione continua, ma non posso >>> import poster
in seguito.
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
Tutti gli indicatori?
Soluzione
Python 2.3 non hanno il supporto per decoratori (che è quello che è @classmethod) oppure list comprehension (che è il secondo errore), così si sta andando ad avere sia per trovare una versione precedente di poster, o un bastone con urllib / urllib2 per fare il vostro lavoro HTTP.
In realtà, sembra che poster è stato creato intorno a luglio 2008, quindi non c'è improbabile che sia una versione che supporta Python 2.3, anche se si poteva trovare la fonte originale. Qual è il motivo particolare, non è possibile aggiornare all'ultima 2.x Python almeno?