简体   繁体   English

Numpy Cimport错误使用cython

[英]Numpy Cimport error using cython

I am trying to Cimport Numpy into a Python 2.7 shell from a .pyx file, but it keeps giving me the same error: 我试图从.pyx文件Cimport Numpy到Python 2.7 shell,但它一直给我同样的错误:

I made a .pyx file called numpyx just to see if it was part of the bigger code I was running, the file contains: 我创建了一个名为numpyx.pyx文件,看看它是否是我正在运行的更大代码的一部分,该文件包含:

cimport numpy as np
a = np.arange(0,10)
print 'a= ',a

I get the following error every time: 我每次都会收到以下错误:

Traceback (most recent call last):
  File "<pyshell#82>", line 1, in <module>
    import numpyx
  File "C:\Users\Scott\AppData\Roaming\Python\Python27\site-packages\pyximport       \pyximport.py", line 335, in load_module
    self.pyxbuild_dir)
  File "C:\Users\Scott\AppData\Roaming\Python\Python27\site-packages\pyximport\pyximport.py", line 183, in load_module
    so_path = build_module(name, pyxfilename, pyxbuild_dir)
  File "C:\Users\Scott\AppData\Roaming\Python\Python27\site-packages\pyximport\pyximport.py", line 167, in build_module
    reload_support=pyxargs.reload_support)
  File "C:\Users\Scott\AppData\Roaming\Python\Python27\site-packages\pyximport\pyxbuild.py", line 85, in pyx_to_dll
    dist.run_commands()
  File "C:\Python27\lib\distutils\dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "C:\Python27\lib\distutils\dist.py", line 972, in run_command
    cmd_obj.run()
  File "C:\Users\Scott\AppData\Roaming\Python\Python27\site-packages\Cython\Distutils\build_ext.py", line 135, in run
_    build_ext.build_ext.run(self)
  File "C:\Python27\lib\distutils\command\build_ext.py", line 340, in run
    self.build_extensions()
  File "C:\Users\Scott\AppData\Roaming\Python\Python27\site-packages\Cython\Distutils\build_ext.py", line 143, in build_extensions
    self.build_extension(ext)
  File "C:\Python27\lib\distutils\command\build_ext.py", line 499, in build_extension
    depends=ext.depends)
  File "C:\Python27\lib\distutils\ccompiler.py", line 624, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "C:\Python27\lib\distutils\cygwinccompiler.py", line 166, in _compile
    raise CompileError, msg
ImportError: Building module failed: ["CompileError: command 'gcc' failed with exit status 1\n"]

I don't understand why it won't work, since it compiles .pyx files fine as long as cimport isn't in them. 我不明白为什么它不起作用,因为只要cimport不在其中就可以编译.pyx文件。

If anyone could shed some light on this it would be great! 如果有人能够对此有所了解那就太棒了!

Well the function your looking for is available in the python package. 那么你在寻找的函数可以在python包中找到。 (I find no reference to linspace in numpy.pxd) (我在numpy.pxd中找不到linspace的引用)

I usually do something along these lines: 我通常会沿着这些方向做点什么:

import numpy as np
cimport numpy as cnp

def foo(double x):
    cdef cnp.ndarray[cnp.float64_t, ndim=1] y = np.linspace(0, 10, 11)
    # do whatever
    return y

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM