我是python的初学者,我也熟悉了cython。我在Windows 64位上使用python3.7

时间:2018-06-11 05:01:21

标签: python cython cythonize

1-我构建了一个文件override func viewWillAppear(_ animated: Bool) { self.navigationController?.setNavigationBarHidden(true, animated: false) }

test_cy.pyx

我想将python转换为cyth,但它显示错误

def test(x)
    y=0
    for i in range(x):
        y+=1
    return y

from Cython.Build import cythonize

setup(ext_modules=cythonize("test_cy.pyx"),)
你能告诉我现在该怎么办?我应该在哪里保存这两个文件?

1 个答案:

答案 0 :(得分:1)

将python脚本转换为Cython有4个步骤:

1)在python中编写脚本并创建静态类型C的桥(即声明你的变量如下:

x = 0 # python version
cdef int x = 0 # cython declare

你没必要,但这是用cython加速python脚本的一种方法。然后使用.pyx扩展名保存文件(在ex test_cy.pyx中)。

2)编写一个安装文件(例如:mysetup.py),其中包含以下内容:

from distutils.core import setup
from Cython.Build import cythonize
setup(name='Test One', ext_modules=cythonize("test_cp.pyx"),)

3)编译你的cmd:

python mysetup.py build_ext --inplace

4)创建一个单独的python模块(例如:run_code.py)并导入.pyx代码:

from test_cy import test
# now use the function that was in your .pyx code