问题标签 [extension-modules]

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 投票
5 回答
2113 浏览

python - _functools module

How does this import work, what file does it use?

In python 2.5:

Gives:

How can I get the meaning of partial (from _functools import partial) if I can't read C code?

0 投票
1 回答
1163 浏览

python - 在 C 中创建 Python 扩展类型的实例

我正在编写一个简单的Vector实现作为 C 中的 Python 扩展模块,它看起来大多像这样:

从 Python 调用时创建实例非常简单Vector,但我需要Vector在同一个扩展模块中创建一个实例。我查看了文档,但找不到明确的答案。最好的方法是什么?

0 投票
3 回答
2452 浏览

c++ - Boost Python中的跨模块依赖

假设我有两个定义如下的 boost python 模块。模块 A:

和模块 B:

模块 B 依赖于模块 A(即它使用SomeClass来自模块 A)。现在,我执行以下 python 脚本:

我收到以下错误:

似乎 Python 不会自动在模块之间转换类。有谁知道如何解决这个问题?

0 投票
1 回答
12440 浏览

python - DLL 加载失败: %1 不是有效的 win32 应用程序

所以我有一种情况,我需要制作二进制补丁,然后能够从 python 中应用它们。我发现bsdiff看起来像一个很棒的算法并且有一个python 扩展模块,但是那个扩展模块没有超过 Python 2.5 的 Windows 安装程序

好吧,所以我从来没有认真地写过 C,更不用说尝试了一个 python 扩展模块,我开始自己编译它。在用 MinGW32 解决 DLL 加载错误几个小时后,我设法使用项目源代码中提供的 setup.py 对其进行编译和构建。但是,在导入生成的 bsdiff 模块后,我得到:

ImportError: DLL load failed: %1 is not a valid Win32 application.

我正在运行 64 位 python。

有什么建议吗?

0 投票
4 回答
10572 浏览

python - 编译python扩展模块时链接错误

所以我正在用 C 语言编写一个 python 扩展模块,并试图为我的 64 位 Python 构建编译它。在对 MinGW 进行了一番抨击之后,我进行了一些谷歌搜索,发现 MinGW 不做 64 位扩展模块,所以我用 Win7 SDK 和 DISTUTILS_USE_SDK 和 MSSdk 设置了 Visual C++ 2008 Express 都等于 1 为在这个问题的答案中。

我终于让 Distutils 找到了编译器,但是当我编译扩展时,我得到了这个输出:

在用头撞了3天后,我有点撞墙了,有什么建议吗?

0 投票
2 回答
511 浏览

python - 如何从 Python 扩展模块中获取当前运行的 Python 解释器的版本?

这个问题是关于如何从扩展模块(即用 C 编写的)中检测用于执行扩展模块的 Python 解释器的版本。

作为背景,在 Python 扩展模块中很容易获得编译扩展所针对的 Python 版本。在包含标准 Python 标头(例如宏)时,您可以只使用其中定义的宏之一。patchlevel.hPython.hPY_VERSION

我的问题是是否有可能从扩展模块中获取运行时当前用于运行扩展的解释器版本。例如,如果意外使用 Python 2.5 运行针对 Python 2.7 编译的扩展模块,我希望能够在运行时从扩展模块中检测到这一点。具体而言,假设扩展模块是针对 Python 2.7 编译的。

0 投票
5 回答
5142 浏览

python - 在 Python 中,如何判断一个模块是否来自 C 扩展?

如果导入的模块来自C 扩展而不是纯 Python 模块,那么从 Python 中判断的正确或最可靠的方法是什么?这很有用,例如,如果一个 Python 包包含一个具有纯 Python 实现和 C 实现的模块,并且您希望能够在运行时判断正在使用哪个模块。

一个想法是检查 的文件扩展名module.__file__,但我不确定应该检查的所有文件扩展名,以及这种方法是否一定是最可靠的。

0 投票
0 回答
440 浏览

opencart - 将其复制到 opencart 的根文件夹后,在模块列表中看不到我的扩展

我已经复制了wesite根文件夹中的扩展文件(在本地主机上工作)但是当我在后端打开模块列表时它没有显示在模块列表中。有人可以帮助我。

0 投票
3 回答
478 浏览

java - Groovy 的扩展模块与 java 的继承相比

groovy 的扩展模块特性是 java 继承特性的混合形式吗?为什么扩展模块需要声明为静态?

0 投票
2 回答
1077 浏览

custom-fields - VTiger 扩展模块为帐户模块创建自定义字段

我正在开发一个 VTiger 6.4.0 扩展模块,用于在帐户模块中输入公司名称时获取公司数据。

该模块快完成了,我从 API 检索数据并使用 JQuery 在输入字段中输入它们。

但问题是我有一些与帐户信息中的现有字段无关的数据,所以我正在尝试创建一些新的自定义字段。

只有我似乎无法弄清楚如何从我的扩展模块中为帐户模块创建自定义字段。

我用谷歌搜索并观看了一些关于 stackoverflow 的帖子。

我想出了以下代码部分,但这似乎不起作用。

在 vtlib_handler module.postinstall 中调用了 addKvkfield 函数(如果这是在扩展模块中执行此操作的正确方法,则找不到任何信息)

vtlib 处理程序:

希望有人可以推动我朝着正确的方向前进。

提前致谢 :)