Подтвердить что ты не робот

Numpy undefined символ: PyFPE_jbuf

Я пытаюсь использовать One Million Song Dataset, для этого мне пришлось установить таблицы python, numpy, cython, hdf5, numexpr и т.д.

Вчера мне удалось установить все, что мне нужно, и после некоторых проблем с hdf5 я загрузил предварительно скомпилированные двоичные пакеты и сохранил их в папке /bin и соответствующих библиотеках в /lib, после чего я протестировал этот python script: http://labrosa.ee.columbia.edu/millionsong/sites/default/files/tutorial1.py.txt

и он работал отлично, чтобы было ясно, как я работал, это сначала запустить script и начать установку необходимых зависимостей, но сегодня я перезапустил свой ноутбук, и он не работал, теперь он меня бросает Ошибка на консоли:

python2.7 script.py 

возвращает:

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

мне кажется, что в этом файле отсутствует недостающая переменная, я предполагаю, что script ищет библиотеку numpy в неправильном месте, так как я сделал так много неудачных установок, возможно, что-то сломал, и это только сработало потому что он был загружен во временную память компьютера.

Я попытался установить Anaconda, и я создал новую среду и установил пакет с менеджером пакетов anaconda, и даже подумал, что я перечислил все упакованные и он возвращает:

# 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  

я все равно получаю ту же ошибку. Мне действительно нужна помощь и я не знаю, что еще попробовать. Благодарю.

4b9b3361

Ответ 1

У меня была та же проблема, возможно, вы установили numpy без Anaconda, поэтому из-за этого возникает конфликт, который нужно использовать numpy: тот, который установлен с помощью pip или с conda. Когда я удалил non-Anaconda numpy, ошибка исчезла.

pip uninstall numpy

Ответ 2

Для пользователей Cython:

Этот пост был полезен. В посте объясняется, что есть некоторый флаг (--with-fpectl), который либо устанавливается во время компиляции cpython, либо нет. Когда библиотека была скомпилирована с использованием cpython без этого флага, она несовместима с версией с установленным флагом. Этот эффект проявляется только при использовании Cython, так как сам numpy не использует это расширение.

Как далее указано в этом посте, моя Ubuntu 16.04 была создана с этим флагом, а Конда без него. Для меня это был модуль hmmlearn, выбрасывающий неопределенную ошибку символа. Это должно быть так, потому что он был отправлен Ubuntu с установленным флагом, а не анакондой. Поэтому я удалил hmmlearn и вручную установить его заново из sourcescode (Anaconda, к сожалению, не предлагает hmmlearn). → Работает!

Ответ 3

Ирония в этом лучшем случае, я перезапустил свой ноутбук, ничего не делая, и он сработал. Не могу понять, почему.

Ответ 4

Я согласен с предыдущими сообщениями, что это, по-видимому, вызвано наличием нескольких версий numpy. Для меня было недостаточно просто использовать pip, так как у меня также было несколько версий pip.

Задание конкретной проблемы решало проблему:

/usr/bin/pip3 uninstall numpy

Ответ 5

Сначала я установил cython, используя систему /usr/bin/pip и anconda pip. Я удалил системный cython, используя системный вызов, и переустановил conda install cython. Работает сейчас.

Ответ 6

Сначала удалите numpy из /usr/local/lib/python2.7/dist-packages/numpy-1.11.0-py2.7-linux-x86_64.egg а затем используйте следующую команду

sudo pip install numpy scipy

Я должен был решить эту ошибку в моем случае.