cython相关内容
我在Cython(使用Python 3.5)中遇到麻烦,无法在单个软件包中的模块之间导入。 我遇到的错误是 SystemError:父模块“”未加载,无法执行相对导入,即使我显然在进行绝对导入。 下面是我正在使用的简单测试设置。使用下面的纯Python版本( .py 而不是 .pyx 并且没有编译),这可以很好地工作,但无法通过Cython进行编译。请注意,在下面的示例中,我实际上并没
..
我有一个使用memoryview数组的cython模块,即... double [:,:] foo 我想使用多处理并行运行此模块。但是我得到了错误: PicklingError:无法腌制
..
我正在尝试在cython中使用openmp。我需要在cython中做两件事: i)在我的 #pragma omp single {} 范围内使用cython代码。 ii)使用 #pragma omp barrier {} 有人知道如何在cython中执行此操作吗? 这里有更多详细信息。我有一个nogil cdef函数 my_fun(),我在omp for循环中调用它:
..
我正在用c库编写包装程序,该库具有几乎所有功能的文件,比如 all_funcs.c 。反过来,此文件需要编译大量其他c文件 我创建了 all_funcs.pyx 所有功能,但我也想创建一个子模块,该子模块可以访问 all_funcs.c 中的函数。现在可行的是将所有c文件添加到setup.py中的两个扩展中,但是每个c文件都编译两次:第一个用于 all_funcs.pyx ,第二个用于子模块
..
我尝试运行python代码,例如 myfile.py (还尝试将其重命名为 myfile.pyx )如下: import pyximport pyximport.install(setup_args = {“ script_args”:[“-编译器= mingw32“]}, reload_support = True) 导入myfile myfile.mycode()
..
我正在尝试从Cython那里学习本教程: http://docs.cython.org/docs/tutorial.html#the-basics-of-cython ,我遇到了问题。 文件非常简单。我有一个helloworld.pyx: print“ Hello World” 和setup.py: 从distutils.core导入从distutils.e
..
我想在cython中包装以下代码: 枚举状态{GOOD,坏}; typedef枚举状态STATUS; //注意typedef意味着人们不必 //到处都必须写`enum Status` //只返回`GOOD` STATUS hello() ; 我在 c_library.pxd : 来自“ library.h”的cdef extern:
..
我正在尝试在Cython类中使用映射,但是Cython编译器会引发错误。 下面是一个示例,演示了我的问题,并且报告了错误Cython。 Cython文件pyx 从libcpp.map cimport映射 从libcpp.utility cimport对 从libcpp.string cimport字符串 cdef类MyDict: cdef: map [string,in
..
我正在尝试使用Cython用数组参数( quick_sort())包装c函数,因此可以将numpy数组传递给它。我已经在文档,SO和网络中搜索了一个可行的最小示例,但没有找到。我尝试了几种可能性,但没有任何进展,因此请帮助我解决这个问题。这是我的文件: quicksort.c #include void quick_sort(int * a,int n){
..
我正在开发一个程序,该程序使用外部C库来解析来自外部源的数据,并使用Python库在其上运行一些优化问题。优化非常耗时,因此使用多个CPU将是一个重要的优势。 基本上,我用Cython封装了C(++)结构,如下所示: cdef class CObject(object): cdef long p_sthg cdef OBJECT * sthg def __cinit
..
文件 Globals.h 包含以下常量定义: namespace MyNameSpace { / **常数** / constexpr index none = std :: numeric_limits :: max(); } ...其中 index 是 uint64_t 的typedef。 如何将其公开给Cython和Pyt
..
Cython libcpp 模块包含 priority_queue 的模板,这很不错,除了以下几点:我不能向它传递一个自定义比较器(或者至少不知道如何操作)。 我需要这个,因为我需要 priority_queue 进行排序的 argsort 而不是 sort (是的,优先级队列是最佳的 在Cython中是否可能做到这一点,也许是通过以自定义方式包装队列,还是根本不? 例如,假设我
..
我有一个cython类,如下所示: cdef class Cls: cdef func1(self): 通过 如果我在另一个库中使用此类,我会可以内联func1这是一个类方法吗?还是我应该找到解决方法(例如,通过创建将Cls指针作为arg的func? 解决方案 有一个坏消息:另一个模块不可能进行内联,但是您不必支付Python函数调用的全部费用。 内
..
我正在开发一种工具,用于对用户定义函数进行一些数值分析。 的想法是在Python中创建一个方便的UI,用户可以在其中输入C函数,然后按一个按钮-并接收一些输出数据。 计算可能要花费几分钟或几小时,因此仅Numpy性能是不可接受的。 我尝试了以下方法:基于Python的UI调用gcc,从用户函数编译dll,该dll比我在Cython包装中基于C的核心算法所使用的函数还要多。它可以工作,但是
..
我正在尝试使用Python和Cython扩展用C ++编写的库的功能。我在C ++中有MyClass类,这对于我的lib是必不可少的。而且我在Python中使用了很多包装类PyMyClass。所以我想使用C ++中的函数(以PyMyClass作为参数)。我怎么能做到这一点? 我想象是这样的: cdef public my_func(MyClass class): *将MyClass
..
我有一个Cython项目,其中包含几个 .pyx 文件。为了分发我的项目,我想提供我推荐的在Cython文档中,以最大程度地减少不同Cython版本的问题。 我目前的工作流程是使用以下项目来构建项目: me @ machine $ python setup.py build_ext --inplace 此Cythonize(即使用Cython将 .pyx 文件转换为
..
目标:使用Cython从2D C ++ char数组获取Memoryview。 一些背景知识: 我有一个本地C ++库,该库会生成一些数据并通过 char ** 将其返回给Cython世界。数组的初始化和操作如下: struct Result_buffer { char ** data_pointer; int length = 0; Result_buffer(
..
%% cython 来自libc.stdio cimport printf def test(): printf('abc') 如果我运行 test(),它不会打印任何内容。 当前我在做一些愚蠢的事情: cdef char s [80] sprintf(s,'something') print s 在cython中使用 pri
..
我正在使用以下代码尝试使用C ++向量: from libcpp.vector cimport向量 cdef struct StartEnd: 长起点,终点 cdef vector [StartEnd] vect print(type(vect)) cdef int i cdef StartEnd j k = {} k ['hi'] = vect for i在
..
我正在尝试使用Cython从python生成c代码,但是名称修改似乎存在一些问题。我首先生成将代码从python转换为c代码,然后使用gcc将代码编译为.so。我想使用cython而不是C / python API的原因是因为稍后我将在更复杂的类上使用它,而我希望稍后再将其用作速度库(我很难找到去世的人从python到C ++,因为通常是相反的方式。以下是我必须尝试执行的所有代码(但失败了)。任何
..