Вопросы по теме 'python-extensions'

Как расширить Python и сделать C-пакет?
Некоторое время назад я встроил и расширил Python 2.7 в свое приложение C. Поздно в поезде я переношу его на Python 3, и многие инициализации для регистрации модуля изменились для меня. Раньше я использовал PyModule_Create для создания модуля и...
186 просмотров

Почему библиотеки Python, скомпилированные с помощью GCC, совместимы с разными версиями компилятора, а библиотеки MSVC - нет?
Я добавляю несколько пакетов Python (из pip) в интерпретатор Python стороннего приложения как в Linux, так и в Windows. В версии своего приложения для Linux они скомпилировали Python против GCC 4.xx, а в версии для Windows они скомпилировали его...
42 просмотров
schedule 22.09.2021

вручную создать расширение python в cygwin с помощью boost.python
Извините за такое общее название, но я не совсем уверен, что именно мне не хватает или что я делаю неправильно. Моя цель — создать расширение Python, используя boost.python под cygwin и избегая инструментов boost.build, которые используют make вместо...
1294 просмотров

Как писать расширения Python на чистом ассемблере и будет ли это эффективно?
У меня средние любительские навыки в Python и я новичок в asm и не знаю C -языка. Я знаю, что C -расширения python должны следовать определенному интерфейсу, чтобы работать нормально. Возможно ли написать расширение python на чистом...
1323 просмотров
schedule 10.05.2022

Как я могу получить python.h в моем python virtualenv на Mac OSX?
Я пишу расширение C для приложения Python, и мне нужно протестировать код C, специфичный для Python. Для этого мне нужно импортировать Python.h в мои файлы C, но за всю свою жизнь я не смог этого сделать. Большинство руководств предлагают что-то...
3292 просмотров
schedule 02.07.2022

Создайте объект, используя Python C API
Скажем, у меня есть макет объекта, определенный как: typedef struct { PyObject_HEAD // Other stuff... } pyfoo; ... и мое определение типа: static PyTypeObject pyfoo_T = { PyObject_HEAD_INIT(NULL) // ... pyfoo_new, };...
15692 просмотров

Ошибка компиляции Cython для бесплатной функции (невозможно преобразовать аргумент объекта Python в тип FooBar *)
Я использую Cython (0.15.2) для создания расширения для Python (2.6.5). Я создал файл pxd и файл pyx. Вот содержимое моего файла pyx: cimport capifuncs cdef class myArray: cdef capifuncs.myArray *_my_array def __cinit__(self, size):...
5746 просмотров
schedule 22.06.2023

создание массива numpy в расширении c segfaults
Я просто пытаюсь начать с создания массива numpy, прежде чем я даже начну писать свое расширение. Вот супер простая программа: #include <stdio.h> #include <iostream> #include "Python.h" #include "numpy/npy_common.h" #include...
2263 просмотров
schedule 03.08.2023

Определить класс Python из C
Я обернул некоторый код C для Python, и он работает. Модуль C создает дескриптор, который я передаю Python как PyCapsule . API, который я хотел бы иметь, можно сделать на Python, например: import wrapped class Test(object): def...
3463 просмотров

Отладка расширения Pybind11 с помощью Visual Studio Code (MacOS)
Недавно я использовал pybind11, и теперь, когда я освоился с ним, я в восторге от него. Это потрясающая работа. Последняя часть инструментальной головоломки для выполнения pybind11 — это часть отладки. У меня есть отладка командной строки с работой...
2107 просмотров

Упакуйте исходные файлы C вместе с пакетом Python
У меня есть библиотека C, которую я пишу, и моя цель — иметь возможность упаковывать и распространять эту библиотеку C через пакет python на PyPI. Идея состоит в том, что это комбинация кода Python, модуля расширения и библиотеки C. Я хочу, чтобы...
106 просмотров

динамический модуль не определяет ошибку функции инициализации при импорте файла .so, скомпилированного с помощью boost python (Python 3.7)
Возможно, это уже было опубликовано где-то еще, но я не нашел ничего подходящего. У меня установлены следующие библиотеки/инструменты: boost: boost-python36.x86_64 boost-python36-devel.x86_64 boost-python36-static.x86_64 Python API:...
37 просмотров

Как вызвать метод python, который возвращает очередь из C++, используя boost (ошибка типа non-sclar)?
У меня есть метод в python, который реализован следующим образом: class MyClass: def __init__(self, i, j, k): self._i = i self._j = j self._k = k def generate_queue(self, max, min): # do stuff return...
48 просмотров

INCREF требуется при возврате аргумента из функции расширения Python C?
Этот вопрос довольно прост, но поможет укрепить мое понимание. Я знаю, что аргументы функций расширения C гарантированно будут живыми ссылками на протяжении всего кода C (если только вручную не DECREF). Однако, если у меня есть код расширения C,...
211 просмотров
schedule 17.12.2023

Невозможно скомпилировать сгенерированную swig оболочку для расширения С++ Python
Привет, я пробую расширение swig python на С++, пример - на странице Mit Мой заголовок - shape.h #include <iostream> class Shape { public: Shape() { nshapes++; } ~Shape() { nshapes--; }...
3815 просмотров
schedule 21.03.2024

Компиляция расширений Python с другой версией Visual Studio
Согласно документации Python , при компиляции расширения Python в Windows «вы должны использовать ту же версию VC++, которая использовалась для сборки самого Python». Обычно дается объяснение, что несоответствие версии среды выполнения VC вызовет...
476 просмотров
schedule 13.06.2024