python - 如何为绝对初学者制作适用于 Windows 的 Python 扩展

标签 python windows python-3.x

我一直在网上四处寻找,试图找到一个很好的分步指南来在 Windows 中扩展 Python,但我找不到适合我技能水平的东西。

假设您有一些如下所示的 C 代码:

#include <stdio.h>
#include <math.h>

double valuex(float value, double rate,  double timex)
{
    float value;
    double rate, timex;
    return value / (double) pow ((1 + rate), (timex));
}

并且您想将其转换为 Python 3 模块,以便在 Windows(64 位,如果有区别的话)系统上使用。你会怎么做?我查看了 SWIG 和 Pyrex,在这两种情况下,它们似乎都适合 unix 用户。对于 Pyrex,我不确定它是否适用于 Python 3。

我只是想通过一些实际示例来学习编程的基础知识。

最后,如果有人可以推荐一本学习扩展的好书,我将不胜感激。

谢谢。

最佳答案

Cython(Pyrex 解决了一些问题并为实用性做出了决定)可以使用一个代码库来制作 Python 2 和 Python 3 模块。这是为 2 和 3 创建库的绝佳选择。user guide解释了如何使用它,但它并没有揭开 Windows 编程或 C 或 Python 或一般编程的神秘面纱,认为它可以为您简化一些事情。

当您遇到问题时,SWIG 可能很难使用,并且不会特别有助于创建您所依赖的 C 的非常原生的、惯用的绑定(bind)。为此,您需要用 Python 重新包装包装器,此时使用 Cython 可能会更好。它可以很好地用于绑定(bind),您无法投入足够的工作来使其变得真正好,并且很方便,因为您可以在其中同时将 API 公开给多种语言。

关于python - 如何为绝对初学者制作适用于 Windows 的 Python 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2503310/

相关文章:

python - 带网格搜索的火车

python - 如何将字符串转换为字典转换为python

javascript - 将 bool 字符串查询传递给 Django

python - 如何配置python程序连接QUEUE MANAGE?

python - 名称 'slugify' 未定义

python - 具有多个窗口的pyQt5程序

c++ - 如何在后台启动 GUI 应用程序?

windows - 使用 COPY 命令合并文件并获取奇数字符

c - GNU C 库是否可用于非 GNU(或 POSIX)平台?

python - 在哪里可以找到 itertools.combinations() 函数的源代码