>> fb.fib(8)-6ren">
gpt4 book ai didi

python - SciPy 的 ctypes Fibonacci 示例无法运行,并出现 "array must have data type int64"错误

转载 作者:行者123 更新时间:2023-11-30 19:42:37 24 4
gpt4 key购买 nike

我正在尝试重现this SciPy CookBook 示例。

我按照网站上给出的简单说明进行操作,但收到以下错误。

知道出了什么问题吗?我怎样才能让fibseries工作?

>>> fb.fib(8)
13
>>> fb.fibseries([1,2,3])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "fibonacci.py", line 38, in fibseries
_libfibonacci.fibseries(b, len(b), result)
ctypes.ArgumentError: argument 1: <type 'exceptions.TypeError'>: array must have data type int64

我正在运行 Python 2.7.6。

最佳答案

必须在第 21-22 行修改代码,如下所示:

_libfibonacci.fibseries.argtypes = [nm.ctypeslib.ndpointer(dtype = nm.intc),\
ct.c_int,\
nm.ctypeslib.ndpointer(dtype = nm.intc)]

来自原文:

_libfibonacci.fibseries.argtypes = [nm.ctypeslib.ndpointer(dtype = nm.int),\
ct.c_int,\
nm.ctypeslib.ndpointer(dtype = nm.int)]
_libfibonacci.fibseries.restype = ct.c_void_p

这解决了问题。

编辑:我不知道为什么这可以解决问题,我只是尝试随机的事情并且这有效。我很高兴知道为什么会这样。

但是,我至少希望这个解决方案能够帮助其他面临同样问题的人。

关于python - SciPy 的 ctypes Fibonacci 示例无法运行,并出现 "array must have data type int64"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31313983/

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