Описание тега python-c-api
API used by C and C++ programmers who want to write extension modules or embed Python.
2
ответа
Буферный протокол Python нового стиля и массивы
Я пытаюсь написать быстрый не копирующий интерфейс для моей привязки к Python коммерческой библиотеки обработки изображений. Я реализовал буферный протокол API нового стиля, который выглядит нормально в соответствии с memoryview(): import hirsch as …
17 авг '14 в 06:41
2
ответа
Python C API - это потокобезопасность?
У меня есть расширение C, которое вызывается из моего многопоточного приложения Python. Я использую статическую переменную i где-то в функции C, и у меня есть несколько i++ Позже утверждения, которые могут быть запущены из разных потоков Python (эта…
02 фев '17 в 15:38
1
ответ
Встраивание Python в C++: ошибка сегментации
Я удаленно Отлаживаю приложение C++ с Visual Studio на устройстве Linux (raspberry pi/raspbian). В этом приложении C++ я встроил простой скрипт на Python, загрузив функцию с помощью API Python/c. Это мой код C++: #include <Python.h> int main(i…
18 фев '18 в 15:29
2
ответа
Как добиться полиморфизма в Python C API?
Я пишу functools.partial альтернатива объекта, которая накапливает аргументы, пока их число не станет достаточным для совершения вызова. Я использую C API, и у меня есть tp_call реализация, которая при вызове возвращает измененную версию self или Py…
11 апр '15 в 08:39
0
ответов
Основываясь на расширении Python C
Я думал, что это будет простой поиск в Интернете, но все, что я получаю, это "как расширить Python с C". То, чего я пытаюсь добиться, - это добавить определенные функциональные возможности к общему расширению Python C, а именно к этому. Причина этог…
17 авг '18 в 15:22
2
ответа
Какова цель Py_DECREF и PY_INCREF?
Я просматривал руководство по определению "новых типов" в python, https://docs.python.org/2/extending/newtypes.html, и я не понимал цель использования Py_DECREF в этом фрагменте кода. static PyObject * Noddy_new(PyTypeObject *type, PyObject *args, P…
27 июн '14 в 05:40
1
ответ
Объявление PyArray_BOOL и работа с массивом boump Numpy в расширении C
В моем коде есть массив boum NumPy, для которого я хочу написать расширение C. Когда я пытаюсь получить непрерывный массив для использования в моей подпрограмме C, я использую: arr_mask = (PyArrayObject *) PyArray_ContiguousFromObject(mask, PyArray_…
12 окт '11 в 16:54
1
ответ
Неверная длина сообщения при использовании C Python API
Я пытаюсь расширить libhydrogen (с открытым исходным кодом здесь: https://github.com/jedisct1/libhydrogen/) для поддержки вызовов базовой библиотеки в Python. Однако я столкнулся со странной проблемой. В частности, у меня есть следующий код: static …
28 фев '18 в 00:21
2
ответа
Как очистить PyListObject?
У меня есть вопрос, как очистить список, который сформирован PyList_Append()? Есть ли документ о функциях API расширения Python/C в деталях? Благодарю.
06 май '14 в 08:04
1
ответ
Есть ли способ изменить размер списка Python с помощью API-интерфейса Python-C?
Мое C-приложение загружает dll интерпретатора Python и вызывает функцию list = PyList_New(len) создать новый список python размера 'len'. Два вопроса: 1. Что произойдет, если я позвоню PyList_Append(list, item) больше, чем len раз? Я предполагаю, чт…
27 фев '19 в 09:15
0
ответов
Как распространять исключения с помощью Python C API?
Я работаю над проектом, который требует от меня интерфейса C(++) кода с Python. Сейчас, в общем, все идет хорошо, но всякий раз, когда я сталкиваюсь с ошибкой, вместо того, чтобы python/C печатал возникающее исключение / ошибку, он просто завершает …
16 дек '18 в 12:35
2
ответа
Как привести в порядок / исправить создание PyCXX нового класса расширения Python?
Я почти закончил переписывать оболочку C++ Python (PyCXX). Оригинал позволяет использовать классы расширения старого и нового стилей, но также позволяет создавать производные от классов нового стиля: import test // ok a = test.new_style_class(); // …
26 дек '14 в 21:18
2
ответа
Python C API логические объекты
Я использую Python C API 2.7.2 с моим консольным приложением C++. Существует одно сомнение в отношении булевых объектов Python C API Я использую: PyObject* myVariable = Py_True; Нужно ли уважать myVariable с Py_DECREF(myVariable)? Документация Pytho…
18 фев '15 в 05:42
1
ответ
Встраивание Python 3.3: как получить доступ к _PyParser_Grammar?
Я пытаюсь эмулировать функцию PyRun_InteractiveLoop() API Python / C, но из другой системы ввода, используемой моим работодателем. Часто задаваемые вопросы по Python ( http://docs.python.org/3/faq/extending.html) содержат следующий код, используемый…
28 июн '13 в 15:35
1
ответ
Embedded Python (C API): как повторно запустить файл.py без повторной инициализации
У меня чертовски тяжелые времена со встроенным питоном. Я использую DLL, и каждый раз, когда вызывается определенная функция, я хочу запустить скрипт Python. Я хочу избежать вызова Py_Finalize() в конце функции, потому что на вызовы Initialize/Final…
21 авг '13 в 19:22
1
ответ
Вызов сторонней функции c из python
У меня есть требование вызова сторонних функций изнутри Python. Для этого я создал ac api, в котором есть весь специфический для Python код c (использующий METH_VARARGS) для вызова сторонних функций. Я связал этот код liba.so с 3-сторонней библиотек…
24 авг '12 в 22:12
1
ответ
Очевидная утечка памяти при использовании PyTuple_SetItem
Я строю вложенный набор кортежей в расширении C++ Python. Однако у меня возникли проблемы с управлением счетчиками ссылок. Минимальный код для воссоздания этой утечки памяти: PyObject *outer = PyTuple_New(outer_size); for (size_t index = 0; index &l…
01 мар '12 в 01:11
2
ответа
Вызов быстрой реализации C Mersenne Twister (SFMT) из Python
Я пытаюсь вызвать реализацию SFMT Mersenne Twister (находится по адресу http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/) из Python. Я делаю это, потому что я хотел бы иметь возможность быстро выбрать дискретный PDF с 4 вероятностями. Я пишу не…
25 фев '17 в 16:44
2
ответа
Функции Python C-API, которые заимствуют и крадут ссылки
Стандартное соглашение в Python C-API заключается в том, что функции не крадут ссылки из входных аргументов (которые являются объектами) возвращаемые значения и выходные аргументы (которые являются объектами) имеют ссылку Большинство функций в Pytho…
20 апр '12 в 14:01
1
ответ
Как встроить IronPython в приложение, отличное от.NET?
Можно ли вызвать функции IronPython (и получить доступ к их возвращаемым значениям) из кода C/C++ без.NET? И если да, то как? Возможен ли подход встраивания, как в python-c-api (то есть как описано здесь: http://docs.python.org/2/extending/embedding…
05 мар '14 в 18:53