Задать вопрос
@blecked88

Как использовать свой .pyd модуль?

Используя c++ boost создаю .pyd таким образом:

#include <boost/python.hpp>

class SimpleClass {
public:
    SimpleClass(int value) : value(value) {}

    int getValue() const {
        return value;
    }

    void setValue(int newValue) {
        value = newValue;
    }

private:
    int value;
};

BOOST_PYTHON_MODULE(example) {
    using namespace boost::python;
    class_<SimpleClass>("SimpleClass", init<int>())
        .def("getValue", &SimpleClass::getValue)
        .def("setValue", &SimpleClass::setValue);
}


А вот код на Python где пытаюсь использовать этот модуль
# test.py
import example

# Создаем экземпляр класса
obj = example.SimpleClass(10)
print(obj.getValue())  # Вывод: 10
obj.setValue(20)
print(obj.getValue())  # Вывод: 20


example.pyd и test.py находятся в одной папке

получаю ошибку:
Traceback (most recent call last):
File "C:\Users\user\Desktop\BOOST_TEST\PYTHON_TEST\test.py", line 1, in
import example
ImportError: DLL load failed while importing example: Не найден указанный модуль.
  • Вопрос задан
  • 91 просмотр
Подписаться 1 Средний 2 комментария
Решения вопроса 1
@blecked88 Автор вопроса
Решилось добавлением в папку к example.pyd и test.py дллки pyboost
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@dim5x
ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
Попробуйте так:
import sys

sys.path.append('.')
import example
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы