315得票12回答
将C库封装在Python中:C、Cython还是ctypes?

我想从Python应用程序中调用C库。 我不想包装整个API,只想包装与我的案例相关的函数和数据类型。 在我看来,我有三个选择: 创建一个实际的C扩展模块。 可能过度了,而且我也想避免学习扩展编写的开销。 使用Cython将C库的相关部分暴露给Python。 在Python中完成整个过程,...

185得票8回答
Cython: “致命错误:numpy/arrayobject.h:没有那个文件或目录”

我试图使用Cython加速这里的回答。我尝试编译代码(在执行此处解释的cygwinccompiler.py hack之后),但是遇到了一个fatal error: numpy/arrayobject.h: No such file or directory...compilation term...

131得票10回答
我应该如何组织一个包含Cython代码的Python软件包

我想制作一个Python包,其中包含一些Cython代码。我成功地编写了Cython代码。但是,现在我想知道最佳打包方法。 对于大多数只想安装包的人,我想包括Cython创建的.c文件,并安排setup.py将其编译以生成模块。然后用户不需要安装Cython即可安装该软件包。 但是,对于可...

115得票4回答
使用cython和mingw进行编译会出现gcc: error: unrecognized command line option '-mno-cygwin'错误

我正在尝试使用mingw(64位)在win 7 64位上编译一个Python扩展模块,使用的是Python 2.6(Active Python 2.6.6),并且已经准备好了适当的distutils.cfg文件(将mingw设置为编译器)。执行以下命令时:> C:\Python26\pr...

107得票18回答
无法打开包含文件:'io.h':没有那个文件或目录。

我尝试使用Cython编译一个简单的.pyx文件。print("hello") 这是我的setup.py文件:from distutils.core import setup from Cython.Build import cythonize setup( ext_modules ...

103得票3回答
如何在Cython的setup.py中指定Python 3源代码?

我正尝试在Cython中做一个“Hello World”程序,按照这个教程http://docs.cython.org/src/tutorial/cython_tutorial.html#cython-hello-world。 我创建了 helloworld.pyx print("...

89得票5回答
使用Cython编译主Python程序

我有一个Python2.6程序,可以使用Cython加载编译为.so文件的Python模块。我使用Cython将.py模块编译为.so文件,并且一切都运行良好。 这是我使用Cython的setup.py文件:from distutils.core import setup from dist...

89得票2回答
如何为类型化的内存视图分配内存是推荐的方式?

在Cython文档中关于类型化内存视图,列出了三种给类型化内存视图分配值的方式: 使用原始C指针, 使用np.ndarray,以及 使用cython.view.array。 假设我没有从外部传入数据到我的cython函数中,而是想要分配内存并将其作为np.ndarray返回,那么我应该...

73得票9回答
导入错误:没有名为'Cython'的模块。

我正在尝试运行from Cython.Build import cythonize,但是我收到了一条错误信息ImportError: No module named 'Cython',但是我已经使用命令pip install Cython安装了Cython。出了什么问题吗? Python版本...

70得票10回答
扩展Python - 用SWIG,不用SWIG或Cython

我在我的Python代码中找到了瓶颈,尝试使用Psycho等工具来解决。然后决定编写一个C/C++扩展来提高性能。 借助SWIG的帮助,您几乎不需要关心参数等细节。一切都很好。 现在我的问题是:SWIG创建了一个相当大的py文件,在调用实际的.pyd或.so代码之前执行许多“检查”和“Py...