استفاده از کتابخانه c++ در پایتون - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

استفاده از کتابخانه c++ در پایتون

0 امتیاز
بهترین روش و البته ساده ترین راه جهت استفاده از کتابخانه های تولید شده در شمت پایتون کدام روش است خواهشاً روش ساده بدون درد و خونریزی را بفرماید
سوال شده اردیبهشت 20, 1399  بوسیله ی kabood (امتیاز 42)   1 6 8

1 پاسخ

+1 امتیاز

من خودم pybind11 استفاده می کنم و خیلی راضی هستم کار کردن هم باهاش نسبت به cython خیلی ساده است. در ابتدا  pybind11 را با pip‌ نصب کنید.

فرض کنید یک پروژه کتابخانه c++ در vs دارید و بخاید یک ماژولی به نام add (جمع تو پارامتر ورودی را محاسبه می کنه) از کتابخانه را سمت python استفاده کنید.

1- فلدر site-packages مربوط به env یا پایتون را پیدا کنید و فلدر کتابخانه را به آن اضافه کنید فرض کنید Test1.

2-Output Directory‌ پروژه را برابر با فلدر بالا قرار بدید.

3- Target Name‌را برابر با Test1 قرار بدید.

4-Target Extension را برابر با .pyd قراربدید.

4-1 .  Configuration Type را برابر با Dynamic Library (.dll) قرار دهید.

5- به هدری که تابع add در آن تعریف شده 

#include <pybind11/pybind11.h>

 را اضافه کنید.

6- به صورت ماژول مورد نظر خودتون بایندر بسازید.

PYBIND11_MODULE(Test1, m) {
	m.doc() = "pybind11 example plugin"; // optional module docstring
	m.def("add", &add, "A function which adds two numbers");

}

7- پروژه را بیلد کنید فایل test1.pyd درsite-packages \test1 ایجاد میشه.

8- یک فایل پایتون ایجاد کنید.

9- به صورت زیر از ماژول add‌استفاده کنید.

from Test1 import  Test1

print( Test1.add(1,2))

 

پاسخ داده شده خرداد 30, 1399 بوسیله ی AliStar (امتیاز 164)   2 20 32
ویرایش شده مهر 20, 1401 بوسیله ی مصطفی ساتکی
...