cython相关内容
在 Jupyter Notebook 中加载 Cython 文件时出现错误.有什么想法吗? %load_ext Cython将 numpy 导入为 npcimport numpy 作为 np进口赛通 只是一个简单的错误信息: 文件“",第5行cimport numpy 作为 np^语法错误:无效语法 解决方案 阅读完docs -- 我使用了两个单独的单元格.第一个是: %load_ex
..
我正在尝试按照此教程进行操作使用 pyx、pxd 和 cimport 创建和使用扩展类型. 在终端编译 Cython 文件时,我收到一个错误,我不知道如何纠正: cdef class CythonClass: pyx文件中的错误行表示. 文件“/Library/Python/2.7/site-packages/Cython/Build/Dependencies.py",第1056行,
..
我正在尝试在 cython 中使用显式相对导入.从 发行说明 看来,相对导入应该在 cython 0.23 之后工作,我在 python 3.5 中使用 0.23.4.但是我收到了这个奇怪的错误,我找不到很多引用.错误仅来自 cimport: driver.pyx:4:0: 不允许超出主包的相对 cimport 目录结构为: myProject/设置文件__init__.py测试/驱动程序
..
我想用 Cython 包装一个包含 C++ 和 OpenMP 代码的测试项目,并通过 setup.py 文件用 distutils 构建它.我的文件内容如下所示: from distutils.core 导入设置from distutils.extension 导入扩展从 Cython.Build 导入 cythonize从 Cython.Distutils 导入 build_ext模块 = [
..
常规问题: 为什么 Cython 编译中的其他错误指向特定的错误行,而这没有? 更新前: 由于难以编译扩展类型,如下面的“不会编译"链接中所述,人们认为 AssertionError 与扩展类型有关(在它们的实例化传输到主 pyx 文件之后). 来自这个论坛帖子的人说“如果你实际上想要扩展类型,并且想要在你的代码中声明它们的类型,你需要在 .pxd 文件中声明它们的 C 属
..
我需要将 scipy.sparse CSR 矩阵传递给 cython 函数.如何指定类型,就像 numpy 数组一样? 解决方案 这里有一个例子,说明如何使用 row 属性快速访问 coo_matrix 中的数据,col 和 data.该示例的目的只是展示如何声明数据类型和创建缓冲区(还添加编译器指令,这通常会给您带来相当大的提升)... #cython: boundscheck=Fal
..
我正在尝试研究如何使用 cython 来加速涉及在我定义的类中完成的集成的计算.我试图更好地理解 cython 如何与用户定义的 python 类一起工作.我想详细了解为什么会出现下面描述的错误. 我在一个名为 ex.pyx 的文件中有以下 cython 代码 来自 libc.math cimport 日志来自 libc.math cimport sqrt导入 scipy.integra
..
我有一个函数 foo,它接受一个指向内存的指针作为参数,同时写入和读取该内存: cdef void foo (double *data):数据[some_index_int] = some_value_doubledo_something_dependent_on(数据) 我像这样分配data: cdef int N = some_intcdef double *data =
..
我正在尝试安装 pyclipper 以与 nototools 一起使用.https://github.com/googlefonts/nototools 但我无法安装 pyclipper.我认为 Visual Studio 构建工具有一些东西. 收集pyclipper==1.1.0.post1使用缓存的 pyclipper-1.1.0.post1.zip (135 kB)安装构建依赖...完成获
..
我想为我的 C++ 项目提供 Python 接口.从技术上讲,我决定使用 Cython 来包装 C++ 代码.随着时间的推移,整个项目旨在成为一个 Python 扩展模块,但起初,这是高度实验性的.渐渐地,C++ 类需要暴露给 Python. 我的问题是如何最好地组织文件和构建配置,以便 Cython 生成的和人工编写的 C++ 代码不会混合在一起,并且 Python 扩展模块与其他目标完全
..
我特别没有 Pands Merge 的性能问题,正如其他帖子所暗示的那样,但我有一个类,其中有很多方法,可以对数据集进行大量合并. 班级有大约 10 个小组,大约有 15 个合并.虽然 groupby 非常快,但在 1.5 秒的总执行时间中,这 15 次合并调用大约需要 0.7 秒. 我想在这些合并调用中提高性能.因为我将有大约 4000 次迭代,因此在单次迭代中总共节省 0.5 秒将
..
我有一个 C++ 程序,它具有某种插件结构:当程序启动时,它会在插件文件夹中寻找具有某些导出函数签名的 dll,例如: void InitPlugin(FuncTable* funcTable); 然后程序会调用dll中的函数进行初始化并将函数指针传递给dll.从那时起,dll 就可以与程序对话了. 我知道 Cython 允许您在 Python 中调用 C 函数,但我不确定我是否可以编写
..
我想更快地进行cythonize.一个 .pyx 的代码是 from distutils.core 导入设置从 Cython.Build 导入 cythonize设置(ext_modules = cythonize("MyFile.pyx")) 如果我想cythonize怎么办 几个扩展名为 .pyx 的文件,我会用它们的名字来称呼它们 文件夹中的所有 .pyx 文件 在这两
..
按照此处的建议,我已成功安装Microsoft Visual C++ Compiler for Python 2.7 编译一些 Cython 代码,但是: from distutils.core 导入设置从 Cython.Build 导入 cythonize设置(ext_modules = cythonize(“module1.pyx")) 仍然产生: 错误:无法找到 vcvarsall
..
这是这个问题. (为什么/何时)使用 Py_ssize_t 进行索引是否更可取?在 docs 我刚刚找到 # Purists 可以使用“Py_ssize_t",这是正确的 Python 类型# 数组索引. -> 这是否意味着在索引 NumPy/Cython 时总是 - 数组/视图应该使用 Py_ssize_t? -> 是 Py_ssize_t e.G.一个 unsigned int
..
生成伪均匀随机数([0, 1) 中的双精度数)的最佳方法是: 跨平台(最好具有相同的样本序列) 线程安全(显式传递 prng 或在内部使用线程本地状态) 没有 GIL 锁 在 Cython 中很容易包装 3 年前有一个类似的帖子关于这一点,但很多答案并不符合所有标准.例如,drand48 是特定于 POSIX 的. 我所知道的似乎(但不确定)满足所有某些标准的唯一方法是:
..
关于类型化内存视图的 Cython 文档列出了三种分配给类型化内存视图: 来自原始 C 指针, 来自 np.ndarray 和 来自 cython.view.array. 假设我没有将数据从外部传入我的 cython 函数,而是想分配内存并将其作为 np.ndarray 返回,我选择了哪些选项?还假设该缓冲区的大小不是编译时常量,即我不能在堆栈上分配,但需要 malloc 选项 1
..
我一直在尝试在我的 Window 7 系统上安装 Cython for Python 2.7.特别是,我更喜欢 64 位的所有内容.(如果你想知道,我需要 Cython,因为 Cython 是我需要的另一个组件之一,用于一些专门的数值分析.而且 x64 是存储大型数据集的潜在优势.) 于是我从官网下载了x64 Python 2.7.从 Christoph Gohlke 获得 Cython.当
..
我正在尝试使用 Cython 的 numpy 中提供的点积、矩阵求逆和其他基本线性代数运算.numpy.linalg.inv(反演)、numpy.dot(点积)、X.t(矩阵/数组的转置)等函数.从 Cython 函数调用 numpy.* 有很大的开销,而该函数的其余部分是用 Cython 编写的,所以我想避免这种情况. 如果我假设用户安装了 numpy,有没有办法做这样的事情: #inc
..
如何获得 64 位 Anaconda Python 以在 Windows 上找到用于 Cython 的 MS C 编译器? 在 Anaconda Python 中,您运行 setup.py 文件来编译 *.pyx 源代码文件.Anaconda Python 2.7 足够聪明,意识到它需要 MS 9.0 编译器,但它抱怨找不到 vcvarsall.bat 文件. 我已经安装了 MS Vi
..