gpt4 book ai didi

python - `cimport numpy` 使用 Cython 引发错误

转载 作者:行者123 更新时间:2023-11-28 19:27:04 26 4
gpt4 key购买 nike

我正在尝试将 cimport NumPy 从 .pyx 文件导入 Python 2.7 shell,但它一直给我同样的错误:

我制作了一个名为 numpyx.pyx 文件,只是为了查看它是否是我正在运行的更大代码的一部分,该文件包含:

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

我每次都会收到以下错误:

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"]

我不明白为什么它不起作用,因为它可以编译 .pyx 文件,只要 cimport 不在其中。

如果有人能阐明这一点,那就太好了!

最佳答案

好吧,您要查找的函数在 python 包中可用。(我在 numpy.pxd 中没有找到对 linspace 的引用)

我通常按照这些思路做一些事情:

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

关于python - `cimport numpy` 使用 Cython 引发错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7996840/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com