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?

È stato utile?

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?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top