Pacote Debian quebrado com Rapidamente devido a UnicodeDecodeError

2

Eu criei um aplicativo de teste rapidamente. Quando usei quickly package , recebo este aviso:

Ubuntu packaging created in debian/
...............................................................................................................................................................................
Befehl gab einige WARNUNGEN zurück:
----------------------------------
** (setup.py:3685): WARNING **: Fehler beim Senden der Anmeldedaten: Fehler beim Senden der Nachricht: Die Operation ist nicht erlaubt
----------------------------------

Se eu tentar instalar o .deb, recebo este aviso:

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/aptdaemon/worker.py", line 1041, in _simulate
    trans.unauthenticated = self.__simulate(trans)
  File "/usr/lib/python2.7/dist-packages/aptdaemon/worker.py", line 1098, in __simulate
    deb = self.install_file(trans, simulate=True, **trans.kwargs)
  File "/usr/lib/python2.7/dist-packages/aptdaemon/worker.py", line 591, in install_file
    deb = self._check_deb_file(path, force, trans.uid)
  File "/usr/lib/python2.7/dist-packages/aptdaemon/worker.py", line 1227, in _check_deb_file
    "\n%s" % (path, stdout))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 48: ordinal not in range(128)

A execução de debuild em vez de quickly package deu esta saída: link

    
por Cedric Krause 21.06.2012 / 13:36

1 resposta

1

Geralmente, quando você vê um erro como este, significa que um caractere diferente do inglês não pode ser exibido - esse é um problema comum quando você tem pessoas que traduzem seu aplicativo e caracteres não ingleses precisam ser exibidos.

Minha solução alternativa para isso é geralmente converter a string em UTF-8 antes de ser exibida. Exemplo:

str = widget.get_text(label).decode("UTF-8")

(nota: eu não testei este código, mas geralmente adicionando decode() a uma string funciona).

    
por jonobacon 24.06.2012 / 19:39