Описание тега python-extensions

Python - это интерпретируемый язык программирования высокого уровня общего назначения, философия дизайна которого делает упор на удобочитаемости кода.
1 ответ

Сделать вызовы C-Extension "зелеными" в python

У меня есть код Python, который сильно зависит от гринлетов. Я могу использовать либо gevent или же eventlet, Я упаковал некоторые разделы кода в C-расширение, но эти вызовы не уступают другим гринлетам. Можно ли написать мое расширение таким образо…
2 ответа

Расширения Python с C: staticforward

Поэтому мне нужно было использовать код модуля подпроцесса для добавления некоторых необходимых мне функций. Когда я пытался скомпилировать файл _subprocess.c, он выдает следующее сообщение об ошибке: Error 1 error C2086: 'PyTypeObject sp_handle_typ…
2 ответа

Можно ли включить socketmodule.h в расширениях Python C?

Я хотел бы вызвать функцию PySocketModule_ImportModuleAndAPI, определенную в socketmodule.h в моем C-расширении Python.
23 июн '12 в 19:07
1 ответ

Ввод данных в файл.c с использованием pyqt

Я создал программу переменного тока, которая требует ввода (через scanf). Затем я создал файл.so и вызвал его в скрипте Python, чтобы при запуске скрипта вход запрашивался в терминале. Но когда я запускаю программу на python, терминал зависает. Пожа…
02 авг '13 в 08:58
1 ответ

Неверная длина сообщения при использовании C Python API

Я пытаюсь расширить libhydrogen (с открытым исходным кодом здесь: https://github.com/jedisct1/libhydrogen/) для поддержки вызовов базовой библиотеки в Python. Однако я столкнулся со странной проблемой. В частности, у меня есть следующий код: static …
28 фев '18 в 00:21
2 ответа

Не могу скомпилировать расширение msgpack Python под Windows

Когда я пытаюсь скомпилировать MSGPACK под Windows с профессиональной версией Visual Studio 2008, выполнив Python setup.py build я получил msgpack/_packer.cpp(316) : fatal error C1083: Cannot open include file: 'stdint. h': No such file or directory…
0 ответов

Очень разные размеры *.so и *.pyd, почему?

Мне удалось собрать библиотеку *.pyd. Помимо пота, крови, слез и крови, он оказался примерно в 4 (четыре) раза меньше, чем соответствующая библиотека *.so. Хотя кажется, что код работает, я не могу не задаться вопросом, почему разница такая огромная…
20 июн '18 в 13:48
3 ответа

Как я могу написать функцию C, которая принимает либо int, либо float?

Я хочу создать функцию в C, которая расширяет Python и может принимать входные данные либо типа float, либо типа int. В общем, я хочу f(5) а также f(5.5) быть приемлемым входом. Я не думаю, что я могу использовать if (!PyArg_ParseTuple(args, "i", $v…
04 окт '16 в 04:19
1 ответ

Могу ли я использовать скомпилированные расширения Python MinGW вместе со скомпилированными расширениями Visual C++?

Возникли проблемы при компиляции расширения Python под Windows, я задал вопрос. Один из ответов не отвечает на мой вопрос, но его стоит задать как вопрос самостоятельно. Учитывая скомпилированный Visual C++ дистрибутив Python под Windows, возникнут …
20 дек '13 в 19:18
0 ответов

Расширение Python C OpenMP

Я получаю нарушение сегментации в интерпретаторе python при попытке получить доступ к переменной, которая возвращается моим собственным расширением OpenMP C++. Все решения, которые я нашел, используют ctypes или cython (которые я не могу использоват…
1 ответ

Ошибка сегментации в методе расширения Python

Я работал над расширением Python C/C++, мне удалось заставить все работать до сих пор, кроме метода, который добавляет две структуры с именем "int_obj", которые имеют целое число внутри, и возвращает новую структуру с именем "add_int_obj". Пока расш…
16 окт '17 в 22:58
1 ответ

Почему PyObject_IsInstance всегда возвращает 0 в моем примере кода

Я пишу пример для изучения Python, но при вызове PyObject_IsInstance эта функция всегда возвращает 0. Вот мой код c ReadBuf.c #include "Python.h" static PyObject* Test_IsInstance(PyObject* self, PyObject* args){ PyObject* pyTest = NULL; PyObject* pN…
19 фев '14 в 07:38
1 ответ

В чем разница между tp_clear, tp_dealloc и tp_free?

У меня есть специальный модуль Python для поиска нечетких строк, реализующий вычисление расстояния Левенштейна, он содержит тип Python, называемый levtree, который имеет два члена - указатель на тип C wlevtree (называемый деревом), который выполняет…
28 июн '14 в 16:12
2 ответа

Могу ли я использовать ctypes для вызова функции C из Python, встроенного в C?

У меня есть программа на C со встроенным кодом Python. Я скомпилировал Python 2.7.2 из исходного кода и связал свою программу с libpython2.7.a. Теперь в моем коде Python я хочу отозвать функции из других библиотек C, связанных с моей программой C. Я…
13 июн '12 в 13:21
1 ответ

Сбой кода C при попытке вызова удаленной процедуры Python через xmlrpc

Я пытаюсь создать код C, который создает клиент Python xmlrpc и вызывает методы на сервере xmlrpc (я думаю об использовании этого в качестве IPC для подключаемой DLL). Вот код... Я не собираюсь подсчитывать ссылки, пока он не заработает. #include &l…
30 мар '11 в 22:47
1 ответ

Как вернуть список целых в расширении Python C API с помощью PyList?

Я строю расширение Python (.pyd) с использованием Visual Studio 2015 C++ и Python 2.7 32bit. Это мое .cpp файл: #include <Python.h> static PyObject* GetTwoInts(PyObject* self, PyObject* args) { srand(time(NULL)); int random1 = rand() % 10; int…
1 ответ

python/django-extensions ImportError: Нет модуля с именем common.types_

Мне удалось запустить простой скрипт, расположенный в папке 'scripts', используя 'runcript' из django-extensions. Техника описана здесь [1] ( https://django-extensions.readthedocs.org/en/latest/runscript.html). Сценарий будет успешно выполняться сле…
08 фев '16 в 18:05
2 ответа

Кросс-компиляция собственных расширений Python для C с помощью distutilscross, setup.py не примет аргумент '-x'

У меня есть рабочая кросс-компиляция Python, однако я попробовал кросс-компиляцию расширения py-smbus из i2c-tools с помощью distutilscross и не могу пройти через командную строку. Документация ( https://pypi.python.org/pypi/distutilscross) предпола…
1 ответ

`unique_ptr`s вызывает 'неопределенный символ' в расширении Python

У меня есть проект C++, который использует несколько функций C++14, включая std::make_unique. Проект компилируется и запускается нормально, и некоторое время он работал, но сейчас я пытаюсь добавить интерфейс Python и у меня возникли некоторые пробл…
17 авг '17 в 16:44
0 ответов

Почему получение и получение GIL в двух потоках вызывает сбой приложения?

Я разработал расширение Python с использованием C++. Единственная функция этого модуля примерно такая: static PyObject *TestModule_API1(PyObject *self, PyObject *args) { PyThreadState *_save; _save = PyEval_SaveThread(); try { DoComputation1(); PyEv…