2016-03-23 12 views
11

私は百万曲データセットを使用しようとしています。これは、pythonテーブル、numpy、cython、hdf5、numexprなどをインストールしなければならないためです。numpy undefined symbol:PyFPE_jbuf

昨日、hdf5に問題が発生したあと、プリコンパイルされたバイナリパッケージをダウンロードして/ binフォルダに保存し、/ libにそれぞれのライブラリを保存した後、このpythonをテストしたスクリプト:http://labrosa.ee.columbia.edu/millionsong/sites/default/files/tutorial1.py.txt

それがうまくいけば、最初にスクリプトを実行して必要な依存関係をインストールし始めたのですが、今日私は自分のラップトップを再起動して動作しませんでした。コンソール上でこのエラーが発生しました:

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 

このようなファイルに欠落している変数があるようですが、私が推測するのは、スクリプトがnumpyライブラリを間違った場所に探しているということです。それはコンピュータの一時的なメモリにロードされていたので解決しました。

私はアナコンダをインストールしようとした、と私は新しい環境を作成し、アナコンダのパッケージマネージャでパッケージされ、さらには私がすべてパッケージ化し、それを返す記載されていると思っインストール:

# 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 

私はまだ同じエラーを取得します。私は本当に助けを必要とし、何を試してみるべきか分からない。ありがとう。

答えて

4

皮肉なことに、私は何もせずにノートパソコンを再起動し、それはうまくいった。理由を理解できません。

19

私は同じ問題を抱えていました。おそらくあなたはAnacondaなしでnumpyをインストールしています。そのためにnumpyを使用しているため、競合が発生します.pipまたはcondaでインストールされています。 Anaconda numpy以外のものを削除したとき、エラーはなくなりました。

pip uninstall numpy 
+0

これは私の問題を解決しました。ありがとうございました! – Gabriel

+0

そうです、これも私の問題を解決しました。 –

0

最初は、システム/ usr/bin/pipとanconda pipを使用してcythonをインストールしました。システムピップを使用してシステムcythonをアンインストールし、 conda install cythonを使用して再インストールしました。今すぐ動作します。

0

これは、numpyの複数のバージョンがインストールされていることが原因と思われる以前の投稿に同意します。私にとって、ピップを使用するだけでは十分ではありませんでした。私もピルの複数バージョンがインストールされていました。 cythonユーザーの場合

/usr/bin/pip3 uninstall numpy 
3

:特定PIP指定

は、問題を解決し、上記アプローチのいずれについて

が働きました。投稿は役に立ちました。Thisそこには、いくつかのフラグ(--with-fpectl)があり、cpythonのコンパイル時に設定されているかどうかが説明されています。ライブラリがそのフラグを持たないcpythonでコンパイルされている場合、そのフラグが設定されているバージョンと互換性がありません。これは、numpyがこの拡張を使用しないので、cythonを使用するときにのみ明らかです。

私のUbuntu 16.04はこのフラグで作成されていますが、Condaはありません。私にとっては、具体的にはモジュールhmmlearnが定義されていないシンボルエラーを投げていました。これは、anacondaが設定していないフラグを設定してUbuntuによって出荷されたためです。そこでhmmlearnを削除し、sourcescodeから新しくインストールしました。 (Anacondaは残念ながらhmmlearnを提供していません)。 - >作品!