2013-12-12 19 views
17

Quando si esegue pip install pandas su un droplet Digital Ocean 512 MB, viene visualizzato l'errore UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 41: ordinal not in range(128) .`pip install pandas` fornisce UnicodeDecodeError: il codec 'ascii' non può decodificare il byte 0xe2 in posizione 41: ordinale non compreso nell'intervallo (128)

Qualche idea che cosa potrebbe averlo causato? Sto usando Ubuntu 12.04 a 64 bit.

[Full Error]

+0

Che cos'è il * full * traceback? – Blender

+1

@Blender appena aggiunto al post originale –

+2

Ho Quanto RAM hai sul tuo VPS? GCC viene ucciso dal sistema operativo, il che probabilmente significa che hai esaurito la RAM durante la compilazione. Aggiungere una partizione di swap o semplicemente installare Pandas tramite apt-get: 'sudo apt-get install python-pandas'. – Blender

risposta

10

Sembra gcc di essere ucciso a causa di memoria insufficiente (vedere @Blender's comment) esposto un bug nel pip Si mescola stringhe di byte e Unicode mentre la registrazione che porta a:.

>>> '\n'.join(['bytestring with non-ascii character ☺', u'unicode']) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 36: \ 
    ordinal not in range(128) 

Se è riproducibile con l'ultima versione pip, è possibile report the bug.

+1

e [per aggiornare] (http://stackoverflow.com/a/15223296/1224255), 'pip installa --upgrade pip' (l'aggiornamento ha risolto il problema per me) – TheGrimmScientist

+0

Su ubuntu non ho potuto aggiorna pip fino a quando ho rimosso il pacchetto ubuntu usando 'apt-get remove python-pip' e poi eseguendo il codice di aggiornamento sopra. – Sam