问题描述
我正在尝试将一个简单而愚蠢的脚本从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语言也