cython将python转换为c限制

问题描述

我正在尝试将一个简单而愚蠢的脚本从Python转换为C:

#script.pyx
import os
import sys
import numpy as np
from datetime import datetime

x = 5

因此,按照本教程创建了setup.py文件

from distutils.core import setup
from Cython.Build import cythonize

setup(ext_modules = cythonize('script.pyx'))

当我尝试运行时:

python setup.py build_ext --inplace

我有一个正确的c文件,例如输出,但是我也有此错误

tree = Parsing.p_module(s,pxd,full_module_name)
error: [WinError 2] Cannot find the specified file

从这个结果中我感到怀疑:使用cython可以转换任何Python脚本吗?甚至最复杂?有什么限制?如果我有一个导入库和/或其他类的文件? 谢谢

解决方法

有时候,我们需要完全指定脚本的位置,而不仅仅是输入文件名,您必须输入完整路径,否则您必须cd到正确的目录,

“ / home / userrr / Desktop / folder45 / script.pyx”

代替“ script.pyx”

它仍然无法正常工作,请卸载python,重新安装python并重新安装Cython,另一个问题可能是pyx源代码,pyx源代码应不同于普通python语言,请检查cdef函数,cdef Cythonize语言也