将Scipy嵌入C

2024-06-07 05:54:59 发布

您现在位置:Python中文网/ 问答频道 /正文

这是一个非常基本的问题,但它让我左右为难。在

我试图在一个c程序中嵌入一些不规则的例程。但是,我无法成功完成导入任何scipy模块的初始步骤。在

我可以导入scipy的顶层,而不会得到空的返回值,所以我很确定安装没有问题。。。在

PyObject *pckg_name, *pckg;

pckg_name = PyString_FromString("scipy");
pckg = PyImport_Import(pckg_name);
if (!pckg)
{
        printf("Error importing python module %s.\n");
        return;
} 

……但我无法再下一层楼了。我尝试过使用PyImport_Import和PyImport_ImportModule的各种组合,例如importing“scipy.stats公司“如步骤1所示,或在导入scipy后按步骤2导入统计信息,但没有任何效果。在

我能够从“random”模块导入和使用函数,因此我认为我的基本Python安装没有问题。我知道我遗漏了一些显而易见的东西,但我不知道是什么。在


Tags: 模块nameimport程序步骤scipy例程pyobject
1条回答
网友
1楼 · 发布于 2024-06-07 05:54:59

对我来说值得的是:

试试看

#include <Python.h>
#include <stdio.h>

int main(int argc, char *argv[])
{
    PyObject *pckg_name;
    PyObject *pckg;

    Py_Initialize();

    pckg_name = PyString_FromString("scipy.stats");
    pckg = PyImport_Import(pckg_name);
    if (!pckg) {
        printf("fail\n");
    }
    else {
        printf("got it!\n");
        Py_DECREF(pckg);
    }
    Py_DECREF(pckg_name);

    Py_Finalize();

    return EXIT_SUCCESS;
}

编译并运行:

^{pr2}$

相关问题 更多 >