将 python 函数转换为 cython
Convert python function to cython
我在```python``
中有一个基本的string manip
函数
def str_process(string_list):
op = []
for each_str in string_list:
op.append(each_str+"_random token")
return op
效果很好。但是当我尝试 运行 cython 中的相同函数时:
import cython
cdef list func(list string_list):
cdef list op =[]
cdef str each_str
for each_str in string_list:
op.append(each_str+"_random token")
return op
我把上面的 cython function
放在 test.pyx
文件中并使用下面的
调用它
from distutils.core import setup
from Cython.Build import cythonize
setup(ext_modules=cythonize('test.pyx'))
错误:
option -f not recognized
我是 cython 的新手,任何关于错误的建议都会很棒。
我能够使用命令 python3 setup.py build_ext --inplace
成功地对您的代码进行 cythonize。看起来你只是 运行 你的 setup.py 文件不正确。
此外,除非您有更多未在此示例中显示的代码,否则您不需要在 .pyx 文件中导入 cython。
我在```python``
中有一个基本的string manip
函数
def str_process(string_list):
op = []
for each_str in string_list:
op.append(each_str+"_random token")
return op
效果很好。但是当我尝试 运行 cython 中的相同函数时:
import cython
cdef list func(list string_list):
cdef list op =[]
cdef str each_str
for each_str in string_list:
op.append(each_str+"_random token")
return op
我把上面的 cython function
放在 test.pyx
文件中并使用下面的
from distutils.core import setup
from Cython.Build import cythonize
setup(ext_modules=cythonize('test.pyx'))
错误:
option -f not recognized
我是 cython 的新手,任何关于错误的建议都会很棒。
我能够使用命令 python3 setup.py build_ext --inplace
成功地对您的代码进行 cythonize。看起来你只是 运行 你的 setup.py 文件不正确。
此外,除非您有更多未在此示例中显示的代码,否则您不需要在 .pyx 文件中导入 cython。