CPPPROGLIB Telegram 5762
🤝 Как вызвать Python из C — гайд для ресерчеров и хардкорных разработчиков

Если вы пишете код на C и Python, рано или поздно возникнет задача: как вызывать Python из C? Особенно если вы работаете с AI-исследованиями, Tensorflow, или хотите встроить скрипты в уже существующий C-проект.

Вот краткое руководство:

1⃣ Подключить Python.h:
python3-config --includes


2⃣ Включить заголовочный файл в C:

В Cmain.c:
#include <Python.h>


3⃣ Скомпилировать:
gcc Cmain.c -I/usr/include/python3.8 -lpython3.8 -o Cmain.o


4⃣ Инициализировать интерпретатор:
setenv("PYTHONPATH", "./", 1);
Py_Initialize();
// ...
Py_Finalize();


5⃣ Импортировать модуль и вызывать функцию:
PyObject *module = PyImport_ImportModule("PythonFunctions");
PyObject *func = PyObject_GetAttrString(module, "PrintList");
PyObject_CallObject(func, args);


6⃣ Аргументы (списки, числа и пр.):
Создаём через PyList_New, PyLong_FromLong, PyTuple_Pack.

7⃣ Очистка памяти:
Не забываем про Py_XDECREF(...)

▶️ Подойдёт для:
📍Встраивания ML-логики в C
📍Быстрого прототипирования
📍Работы с TensorFlow C API

▶️ Полный гайд и файлы — в детальной статье: https://clc.to/ys3cjw

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2🔥1🤔1



tgoop.com/cppproglib/5762
Create:
Last Update:

🤝 Как вызвать Python из C — гайд для ресерчеров и хардкорных разработчиков

Если вы пишете код на C и Python, рано или поздно возникнет задача: как вызывать Python из C? Особенно если вы работаете с AI-исследованиями, Tensorflow, или хотите встроить скрипты в уже существующий C-проект.

Вот краткое руководство:

1⃣ Подключить Python.h:

python3-config --includes


2⃣ Включить заголовочный файл в C:

В Cmain.c:
#include <Python.h>


3⃣ Скомпилировать:
gcc Cmain.c -I/usr/include/python3.8 -lpython3.8 -o Cmain.o


4⃣ Инициализировать интерпретатор:
setenv("PYTHONPATH", "./", 1);
Py_Initialize();
// ...
Py_Finalize();


5⃣ Импортировать модуль и вызывать функцию:
PyObject *module = PyImport_ImportModule("PythonFunctions");
PyObject *func = PyObject_GetAttrString(module, "PrintList");
PyObject_CallObject(func, args);


6⃣ Аргументы (списки, числа и пр.):
Создаём через PyList_New, PyLong_FromLong, PyTuple_Pack.

7⃣ Очистка памяти:
Не забываем про Py_XDECREF(...)

▶️ Подойдёт для:
📍Встраивания ML-логики в C
📍Быстрого прототипирования
📍Работы с TensorFlow C API

▶️ Полный гайд и файлы — в детальной статье: https://clc.to/ys3cjw

Библиотека питониста #буст

BY Библиотека C/C++ разработчика | cpp, boost, qt




Share with your friend now:
tgoop.com/cppproglib/5762

View MORE
Open in Telegram


Telegram News

Date: |

The administrator of a telegram group, "Suck Channel," was sentenced to six years and six months in prison for seven counts of incitement yesterday. But a Telegram statement also said: "Any requests related to political censorship or limiting human rights such as the rights to free speech or assembly are not and will not be considered." Select: Settings – Manage Channel – Administrators – Add administrator. From your list of subscribers, select the correct user. A new window will appear on the screen. Check the rights you’re willing to give to your administrator. To upload a logo, click the Menu icon and select “Manage Channel.” In a new window, hit the Camera icon. With the sharp downturn in the crypto market, yelling has become a coping mechanism for many crypto traders. This screaming therapy became popular after the surge of Goblintown Ethereum NFTs at the end of May or early June. Here, holders made incoherent groaning sounds in late-night Twitter spaces. They also role-played as urine-loving Goblin creatures.
from us


Telegram Библиотека C/C++ разработчика | cpp, boost, qt
FROM American