问题标签 [pyrex]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1752 浏览

python - Cython/Pyrex 生成的 Python 扩展是线程安全的吗?

如果没有,有没有办法通过某种方式编程来保证线程安全?

澄清一下,在谈论“线程安全”时,我指的是 Python 线程,而不是操作系统级线程。

0 投票
1 回答
1222 浏览

python - 如何在 Pyrex 中定义初始化的 C 数组?

我想在 Pyrex 中定义初始化的 C 数组,例如:

Pyrex 中的等价物是什么?

只是数组是

但是我怎样才能让它用我的值初始化呢?

0 投票
1 回答
1275 浏览

python - ctypes、pyrex、swig 或 cython 解决这个问题?

我有大约 20 个简单的 C++ 类,它们代表各种概率分布。我想在 Python 中提供这些。最简单的方法是什么?我不介意让程序自动生成包装器,但我不想重新输入类。

此外,我的一些课程使用 Boost uBLAS 库。有没有办法从 Python 自动传入 numpy 数组?

0 投票
1 回答
3786 浏览

python - 使用 Pyrex 编译 django 项目

我想知道是否有人能够使用 pyrex(或任何类似的东西)编译基于 Django 的项目(例如,进入共享对象库),并且仍然保持使用带有 python 的普通 Django 项目的灵活性。

我们必须能够将项目与 apache 一起使用,因此它不能被编译成独立的二进制文件。我的想法是,它将被编译成库,并且这些库将暴露给解释器,因此它的行为应该像使用 python 的项目的当前状态。最好不要写很多C代码:)

提前致谢。

0 投票
4 回答
486 浏览

python - Python 的速度够不够,还是应该使用 Pyrex?

信息:我正在使用 Django。问题:Python 的速度是否足以提供低延迟的Web 服务,或者我应该使用 Pyrex 将我的函数转换为 C 吗?

0 投票
1 回答
260 浏览

python - 我怎样才能使这个 Cython 扩展更快?

这是我的第一个 cython (pyx) 模块。我怎样才能让它更快?具体来说,我正在最后一行寻求帮助。它可以编译并运行,但我担心它会被转换为 Py* 对象,这可能会快得多。

另外,如果您发现任何明显的错误,请告诉我!

谢谢!

0 投票
1 回答
78 浏览

python - How can I make a pyrex extension type with multiple constructors

I've got a Pyrex extension type like this:

#xA;

It is wrapped by a Pythoninc extension type:

#xA;

I would like to be able to create instances of this extension type from within Pyrex code elsewhere, using the existing C value, like so:

#xA;

...but this results in "Cannot convert 'AThing' to Python object". What's the general technique to create a Pyrex extension type that can be initialised from both Python and C?

0 投票
1 回答
1597 浏览

python - Python 代码无法找到 cython 函数,即使它甚至不应该尝试找到它。为什么?

底部是两个文件,一个应该执行的超最小 python 文件和一个 cython 文件。如果您将它们保存为文件名 cython 一个“cycode.pyx”,它会在您执行另一个文件(例如“start.py”)后自动编译和运行

问题

如果您执行纯 python 文件 /.start.py,您将收到来自 Cython 的属性错误。

异常 AttributeError:“'cycode.Item' 对象在 'cycode.insertItem' 中没有属性 'export'”

根据我的经验,这意味着 Python 函数或对象试图访问未声明为 public(或 cpdef、readonly、def 等)的 cython 代码。但我从来没有打算从 Python 访问这个函数。据我所知,这不应该发生。cython 和 python 之间应该有一个干净的分离。Python 只获取一个包含简单 dicts 的列表。

问题是为什么会这样?我的目标不仅仅是让它工作,这可以通过一个简单的 cpdef 来完成。但是要了解为什么会发生这种情况,以及最终如何以一种干净且受控的方式将数据从 cython 发送到 python,而无需为 python 领域声明任何 cython 对象。

开始.py

cycode.pyx

0 投票
1 回答
1983 浏览

python - 使用 Cython 定义 Python 类方法

我正在尝试将一些 Python 代码移植到 Cython,结果发现我尝试移植的某些功能需要类方法(@classmethod在 Python 代码库中定义)。

是否可以使用 Cython 创建 Python 类方法?如果是,它们会遵循与 Python 中相同的范围规则吗?我可以访问cdef在类的实例上定义的方法吗?

0 投票
1 回答
185 浏览

python - Pyrex - 'PyFrameObject' 未声明

我正在尝试将一个基于 c 的秘密库从 CentOS 6.5/Python 2.6 迁移到 CentOS 7.4/Python 2.7。这个库有基于 Pyrex 的 python 接口。

问题是,当我执行“pyrex secret_lib.pyx”(该文件的第一行 - 包括“python.pxi”)时,我收到以下错误:

python.pxi的内容:

所以,这是这一行 - “165 PyFrameObject *f_back”和同名的结构。看起来像 c 中的链表,为什么它没有定义?或者在 Pyrex 中,这意味着扩展预定义的结构“PyFrameObject”——在这种情况下,它可能会导致错误。但为什么?

我什至尝试修改第 17 行(3 个不同的变体):

,但没有帮助。在这个文件-“/usr/include/python2.7/frameobject.h”中我们可以找到这个“PyFrameObject”,那么,有什么问题呢?