web-dev-qa-db-de.com

numpy undefined symbol: PyFPE_jbuf

Ich versuche, das One Million Song Dataset zu verwenden, dazu musste ich Python-Tabellen installieren, numpy, cython, hdf5, numexpr und so. 

Gestern konnte ich alles installieren, was ich brauchte, und nachdem ich einige Probleme mit hdf5 hatte, lud ich die vorkompilierten Binärpakete herunter und speicherte sie in meinem/bin-Ordner und den entsprechenden Bibliotheken in/lib. Danach testete ich dieses Python-Skript: http://labrosa.ee.columbia.edu/millionsong/sites/default/files/tutorial1.py.txt

und es hat gut funktioniert, um klar zu sein, wie ich es gemacht habe, war es zuerst, das Skript auszuführen und mit der Installation der erforderlichen Abhängigkeiten zu beginnen, aber heute habe ich meinen Laptop neu gestartet und er hat nicht funktioniert. Jetzt wirft ich diesen Fehler auf der Konsole:

python2.7 script.py 

kehrt zurück : 

import numpy as np # get it at: http://numpy.scipy.org/
from . import random
from .mtrand import *
ImportError: /home/francisco/.local/lib/python2.7/site-packages/numpy/random/mtrand.so: undefined symbol: PyFPE_jbuf

mir scheint, dass in einer solchen Datei eine Variable fehlt. Ich schätze, dass das Skript an der falschen Stelle nach der numpy-Bibliothek sucht. Da ich so viele fehlerhafte Installationen vorgenommen habe, habe ich vielleicht etwas kaputt gemacht und es hat nur geklappt, weil es geladen wurde im zeitlichen Gedächtnis des Computers. 

Ich habe versucht, Anaconda zu installieren, habe eine neue Umgebung erstellt und das Paket mit dem Anaconda-Paketmanager installiert. Ich dachte sogar, dass ich alle Pakete auflistete, und es kehrt zurück: 

# packages in environment at /home/francisco/anaconda2/envs/Music:
#
biopython                 1.66                np110py27_0  
cython                    0.23.4                    <pip>
hdf5                      1.8.15.1                      2  
mkl                       11.3.1                        0  
numexpr                   2.5                 np110py27_0  
numpy                     1.10.4                   py27_1  
openssl                   1.0.2g                        0  
pillow                    3.1.1                     <pip>
pip                       8.1.1                    py27_0  
pytables                  3.2.2               np110py27_1  
python                    2.7.11                        0  
python-ldap               2.4.25                    <pip>
readline                  6.2                           2  
reportlab                 3.3.0                     <pip>
requirements              0.1                       <pip>
setuptools                20.3                     py27_0  
sqlite                    3.9.2                         0  
tables                    3.2.2                     <pip>
tk                        8.5.18                        0  
wheel                     0.29.0                   py27_0  
zlib                      1.2.8                         0  

ich bekomme immer noch den gleichen Fehler. Ich brauche wirklich Hilfe und weiß nicht, was ich sonst versuchen soll. Vielen Dank. 

16
frammnm

Ich hatte das gleiche Problem, wahrscheinlich haben Sie numpy ohne Anaconda installiert. Es gibt daher einen Konflikt, der zu verwenden ist: der mit pip oder mit conda. Wenn ich Nicht-Anaconda-Nrpy entfernte, ist der Fehler verschwunden. 

pip uninstall numpy
24

Für Cython-Benutzer: 

This Post war hilfreich. Der Beitrag erklärt, dass es ein Flag (--with-fpectl) gibt, das entweder beim Kompilieren von cpython gesetzt wird oder nicht. Wenn eine Bibliothek mit einem Cpython ohne dieses Flag kompiliert wurde, ist sie mit einer Version, bei der dieses Flag gesetzt ist, nicht kompatibel. Dieser Effekt wird nur angezeigt, wenn Sie Cython verwenden, da Numpy selbst diese Erweiterung nicht verwendet. 

Wie in diesem Beitrag weiter ausgeführt, wurde mein Ubuntu 16.04 mit dieser Flagge und Conda ohne diese erstellt. Für mich war es das Modul hmmlearn, das den undefinierten Symbolfehler auslöste. Dies muss der Fall sein, da es von Ubuntu ausgeliefert wurde und das Flag gesetzt wurde und nicht von Anaconda. Also habe ich hmmlearn deinstalliert und manuell von sourcescode installiert (Anaconda bietet leider kein hmmlearn an). -> funktioniert!

6
BaluJr.

ironie am besten, ich habe meinen Laptop neu gestartet, ohne nichts zu tun, und es hat funktioniert. Kann nicht verstehen warum.

5
frammnm

Ich stimme den vorherigen Beiträgen zu, dass dies anscheinend durch mehrere installierte Versionen von numpy verursacht wurde. Für mich war es nicht genug, nur pip zu verwenden, da ich auch mehrere Versionen von pip installiert hatte.

Die Angabe des spezifischen Pipes hat das Problem gelöst:

/usr/bin/pip3 uninstall numpy
3
eatcrayons

Anfangs habe ich Cython mit System/usr/bin/pip und anconda pip installiert. Ich habe System Cython mit System Pip deinstalliert und mit conda install cython neu installiert. Funktioniert jetzt.

0
r3t2

Entfernen Sie zuerst numpy aus /usr/local/lib/python2.7/dist-packages/numpy-1.11.0-py2.7-linux-x86_64.Egg Und verwenden Sie dann den folgenden Befehl

Sudo pip install numpy scipy

Ich hatte diesen Fehler in meinem Fall behoben.

0
kagdada hardik