python-c-api

В модуле расширения Python, написанном на языке C++, я использую следующий фрагмент кода для преобразования массива NumPy в массивArmadillo для использования в части кода на языке C++: static arma::mat convertPyArrayToArma(PyArrayObject* pyarr, int nrows, int ncols) { // Check if the dimensions are wha...

У меня есть модуль, определенный в моем C-коде следующим образом: static struct PyModuleDef module_def = { PyModuleDef_HEAD_INIT, "the_module_name", /* m_name */ module_documentation, /* m_doc */ //.... }; И функция для его инициализации: PyMODINIT_FUNC init_the_module(void) { PyOb...

Я пытаюсь вызвать функции python из кода C, и я следовал примеру из здесь У меня также есть правильный include file directries, library directries и связанный python32.lib (im using python 32) однако ошибка заключалась в том, что API python/C, такие как PyString_FromString, PyInt_FromLong, PyInt_AsLong, не ...

Я пытаюсь загрузить модуль python, содержащий импорт math и numpy в C, используя C API. Я могу загрузить и запустить модуль, но если я импортирую математический модуль, он не работает. Я использую Arch Linux, Python 2.7.2 и gcc. Вот коды: #include <stdio.h> #include <stdlib.h> #include <pyt...

Я хочу, чтобы нарезать через библиотеки numpy 1Д в c расширением. Я вижу всевозможные вспомогательные функции в C API для создания свежих массивов, изменения формы, индексирования определенных значений и т. д.. Но я не вижу ничего похожего на PyArray_Slice1D (array, start, stop, step). Существует ли такая вещ...

Как правильно вернуть кортеж, содержащий значение None из расширения C в Python? Я знаю, что одно значение None может быть создано с помощью result = Py_BuildValue(""); И что кортеж может быть создан с помощью чего-то вроде result = Py_BuildValue("(ii)", 123, 456); Но я не вижу способа объединить это,...

Я пытаюсь научиться писать C-расширения для Python и хочу быть уверенным, что понимаю, как работает PyArg_ParseTupleAndKeywords. Я считаю, что первый аргумент-это указатель PyObject, который указывает на массив аргументов, передаваемых в функцию расширения C в том порядке, в котором они были переданы. Второ...

У меня есть пакет, который я создал в C++ и уже скомпилировал его в общую библиотеку. Когда я связываю его с моей собственной основной функцией, я могу инициализировать пакет, вызывая функцию инициализации напрямую, initfoo, и все работает нормально. Как заставить python распознать мою общую библиотеку как ...

Я пытаюсь построить общую библиотеку, используя файл расширения C, но сначала я должен создать выходной файл, используя команду ниже: gcc -Wall utilsmodule.c -o Utilc после выполнения команды, я получаю это сообщение об ошибке: utilsmodule.c: 1: 20: неустранимая ошибка: Python.ч: нет такого файла или ...

вопрос, который я собираюсь задать, кажется, дубликат использование Python _ _ new__ и _ _ init__?, но, несмотря на это, мне все еще неясно, в чем именно заключается практическая разница между __new__ и __init__ есть. прежде чем ты поспешишь сказать мне это __new__ предназначен для создания объектов и __init...