Pergunta

Estou tentando instalar Biblioteca de pôsteres de Chris Atlee's Python Para que eu possa fazer upload de um arquivo usando uma consulta HTTP Post a partir do meu script.

No Python 2.3, quando eu digito # python setup.py install, Estou tendo o erro a seguir. A instalação continua, mas eu não posso >>> import poster mais tarde.

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

Algum indicador?

Foi útil?

Solução

O Python 2.3 não teve suporte para decoradores (é isso que @classmethod é) ou listar compreensões (que é o segundo erro), então você terá que encontrar uma versão mais antiga do pôster ou ficar com urllib/urllib2 para fazendo seu trabalho http.

Na verdade, parece que o pôster foi criado por volta de julho de 2008, então é improvável que haja uma versão que suporta o Python 2.3, mesmo que você possa encontrar a fonte original. Qualquer motivo específico que você não pode atualizar para o mais recente Python 2.x, pelo menos?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top