4

SciPy Docsから ufunc の例をインストールしようとしていますが、実行すると非推奨の NumPy API に関するいくつかの警告が表示されますpython setup.py buildpython setup.py install

これを実行python setup.py installすると、出力は次のようになります。

$ python setup.py install
running install
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompileroptions
running build_src
build_src
building extension "npufunc_directory.npufunc" sources
build_src: building npy-pkg config files
running build_ext
customize UnixCCompiler
customize UnixCCompiler using build_ext
building 'npufunc_directory.npufunc' extension
compiling C sources
C compiler: gcc -fno-strict-aliasing -ggdb -O2 -pipe -Wimplicit-function-declaration -fdebug-prefix-map=/usr/src/ports/python/python-2.7.8-1.x86_64/build=/usr/src/debug/python-2.7.8-1 -fdebug-prefix-map=/usr/src/ports/python/python-2.7.8-1.x86_64/src/Python-2.7.8=/usr/src/debug/python-2.7.8-1 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes
creating build
creating build/temp.cygwin-1.7.32-x86_64-2.7
compile options: '-I/usr/lib/python2.7/site-packages/numpy/core/include -I/usr/include/python2.7 -c'
gcc: single_type_logit.c
In file included from /usr/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1728:0,
             from single_type_logit.c:3:
/usr/lib/python2.7/site-packages/numpy/core/include/numpy/npy_deprecated_api.h:11:2: warning: #warning "Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp] #warning "Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION"
creating build/lib.cygwin-1.7.32-x86_64-2.7
creating build/lib.cygwin-1.7.32-x86_64-2.7/npufunc_directory
gcc -shared -Wl,--enable-auto-image-base -L. build/temp.cygwin-1.7.32-x86_64-2.7/single_type_logit.o -L/usr/lib/python2.7/config -L/usr/lib -lpython2.7 -o build/lib.cygwin-1.7.32-x86_64-2.7/npufunc_directory/npufunc.dll
running scons
running install_lib
copying build/lib.cygwin-1.7.32-x86_64-2.7/npufunc_directory/npufunc.dll -> /usr/lib/python2.7/site-packages/npufunc_directory
running install_egg_info
Removing /usr/lib/python2.7/site-packages/npufunc_directory-0.0.0-py2.7.egg-info
Writing /usr/lib/python2.7/site-packages/npufunc_directory-0.0.0-py2.7.egg-info
running install_clib
customize UnixCCompiler

実行python setup.py buildすると以下が生成されます:

$ python setup.py build
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
running build_src
build_src
building extension "npufunc_directory.npufunc" sources
build_src: building npy-pkg config files
running build_ext
customize UnixCCompiler
customize UnixCCompiler using build_ext
running scons

モジュールをインポートしようとすると、次のようになります。

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import npufunc
ImportError: No module named npufunc

これを機能させる方法を知っている人はいますか?

4

1 に答える 1

1

ドキュメントによると、「__init__.pyPythonがディレクトリをパッケージを含むものとして扱うには、ファイルが必要です」。Numpy ドキュメントの setup.py はこのファイルを作成しないため、Python はこのディレクトリを無視するため、何もインポートしません。

解決策:ディレクトリに空の__init__.pyファイルを 追加するだけ/usr/local/lib/python2.7/dist-packages/npufunc_directoryです。たとえば、sudo touch __init__.py次に試してください:

>>> from npufunc_directory import npufunc
>>> npufunc.logit(.5)
0.0

または、 に追加import npufuncする__init__.pyと、次のことができます。

>>> import npufunc_directory
>>> npufunc_directory.npufunc.logit(0.5)
0.0
于 2015-07-06T16:18:52.273 に答える