2013-04-24 2 views
2

libfann과 관련 파이썬 바인딩을 구축하고 설치했습니다. 파이썬 설치 확인을 실행 듯 :FANN 파이썬 바인딩 실패

$ sudo python setup.py install 
Running SWIG before: swig -c++ -python pyfann/pyfann.i 
running install 
running build 
running build_py 
copying pyfann/libfann.py -> build/lib.macosx-10.5-x86_64-2.7/pyfann 
running build_ext 
building 'pyfann._libfann' extension 
gcc -fno-strict-aliasing -I/Users/dwilliams/Desktop/Anaconda/include -arch x86_64 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -DSWIG_COMPILE -I../src/include -I/Users/dwilliams/Desktop/Anaconda/include/python2.7 -c pyfann/pyfann_wrap.cxx -o build/temp.macosx-10.5-x86_64-2.7/pyfann/pyfann_wrap.o 
cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++ 
g++ -bundle -undefined dynamic_lookup -L/Users/dwilliams/Desktop/Anaconda/lib -arch x86_64 -arch x86_64 build/temp.macosx-10.5-x86_64-2.7/pyfann/pyfann_wrap.o ../src/doublefann.o -o  build/lib.macosx-10.5-x86_64-2.7/pyfann/_libfann.so 
running install_lib 
creating /Users/dwilliams/Desktop/Anaconda/lib/python2.7/site-packages/pyfann 
copying build/lib.macosx-10.5-x86_64-2.7/pyfann/__init__.py ->  /Users/dwilliams/Desktop/Anaconda/lib/python2.7/site-packages/pyfann 
copying build/lib.macosx-10.5-x86_64-2.7/pyfann/_libfann.so -> /Users/dwilliams/Desktop/Anaconda/lib/python2.7/site-packages/pyfann 
copying build/lib.macosx-10.5-x86_64-2.7/pyfann/libfann.py -> /Users/dwilliams/Desktop/Anaconda/lib/python2.7/site-packages/pyfann 

그러나 가져 오기가 실패

$ python -c 'import pyfann' 
Traceback (most recent call last): 
    File "<string>", line 1, in <module> 
    File "pyfann/__init__.py", line 4, in <module> 
    import libfann 
    File "pyfann/libfann.py", line 26, in <module> 
    _libfann = swig_import_helper() 
    File "pyfann/libfann.py", line 18, in swig_import_helper 
    import _libfann 
ImportError: No module named _libfann 

사람은이 문제를 해결하는 방법을 알고?

답변

2

나는 비슷한 문제가 있었지만 Mac OS 10.7에서는 python 3을 사용했습니다.

내 오류, 당신과 비슷한 : :이 그것을 조금 당신을 도울 수 있도록 잘하면 나를 위해 일한 다음 내가 파일 __init__.py 내 주위에 봐, 그래서

>>> import pyfann 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/pyfann/__init__.py", line 4, in <module> 
    import libfann 
ImportError: No module named 'libfann' 

를, 그것은 다음과 같습니다 :

# 
# Fast Artificial Neural Network library for Python 
# 
import libfann 
__all__ = [ 
    'libfann' 
] 
가 libfann 찾을 수없는 몇 가지 이유를 들어

하지만 __init__.py과 동일한 폴더에 libfann입니다. 어쩌면 우리는 __init__.py을 편집하고 libfann가 어디 있는지를 알 수 있습니다 :

다음
# 
# Fast Artificial Neural Network library for Python 
# 

# import imp so we can load modules ourselves rather than through import magic 
import imp 

# try to load libfann, giving the exact path of where libfann resides 
imp.load_source ('libfann','/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/pyfann/libfann.py') 

시도하고 예제 중 하나를 실행합니다

python3 ~/Downloads/FANN-2.2.0-Source/python/examples/simple_train.py 
FANN Error 1: Unable to open configuration file "../../examples/xor.data" for reading. 
FANN Error 2: Unable to open configuration file "nets/xor_float.net" for writing. 

내가 simple_train.py 열 수 있었다를하고 불평 곳의 전체 경로를 입력 이 구성 파일을 찾을 수 없습니다,하지만 지금은 괜찮 실행되는 : 내 경우 "libfann으로 수입 fann2.libfann"에서

python3 ~/Downloads/FANN-2.2.0-Source/python/examples/simple_train.py 
Max epochs 100000. Desired error: 0.0001000000. 
Epochs   1. Current error: 0.2500073016. Bit fail 4. 
Epochs   39. Current error: 0.0000279390. Bit fail 0.