Domanda Cercando di usare Pandas in Python - Errore: errata classe ELF: ELFCLASS32


Ho installato l'ultima versione di Pandas utilizzando il seguente:

sudo apt-get install python-pandas

ma continuo a ricevere il seguente messaggio di errore quando provo a importare in Python:

ImportError: /usr/local/lib/python2.7/dist-packages/pandas-0.7.3-py2.7-linux-i686.egg/pandas/_tseries.so: wrong ELF class: ELFCLASS32

Qualche suggerimento su come risolvere questo problema? Devo reinstallare qualcosa? Se sì, come lo faccio? Ho provato a trovare come disinstallare Pandas ma non riesco a trovarlo.


1
2018-06-16 03:58


origine


Hai provato a installarlo dal sorgente o con pip o anche in altro modo? Qualsiasi file sotto /usr/local/lib/python2.7 non sono installati dai pacchetti di Ubuntu. - Mike Miller


risposte:


Alcuni dei codici sorgente di Pandas sono scritti in Cython. I file python di Cython sono trasformati in file .c e compilati in librerie .so. L'errore che stai vedendo,

ImportError: /usr/local/lib/python2.7/dist-packages/pandas-0.7.3-py2.7-linux-i686.egg/pandas/_tseries.so: wrong ELF class: ELFCLASS32

Dillo _tseries.so è stato compilato come un binario ELF a 32 bit, mentre il tuo sistema (probabilmente) ha bisogno di un binario ELF a 64 bit.

Il modo corretto per risolvere questo problema dipende da come sei arrivato a questa situazione. Ad esempio, se hai il codice sorgente completo di panda in ~ / src / pandas, allora

cd ~/src/pandas/pandas
/bin/rm *.{c,cpp,so}   # <-- remove the 32-bit binaries
/bin/rm -rf ~/src/pandas/{build,dist}
cd /usr/local/lib/python2.7/dist-packages/
/bin/rm -rf pandas*    # <-- remove the egg file
cd ~/src/pandas
python setup.py build_ext --inplace && python setup.py install   # <-- will build 64-bit binaries on a 64-bit system.

ricompilerà il codice cython e poi tenterà di installare i panda.


0
2017-10-25 20:27