Всем привет!
Мне нужно вызвать питоновскую функцию из с++ (visual studio 2019).
Однако я не очень понимаю, какие файлы и библиотеки для этого нужны
Как я понял, нужно подключить файл Python.h, который идет вместе с питоном (C:\Users\Lenovo\AppData\Local\Programs\Python\Python38\include\Python.h).
Я подключил его вот так:
У меня интерфейс на с++, и нужно вызывать питоновские функции при определенных событиях. В принципе да, можно так сделать, если вызов каждой функции представить как отдельный .py файл. Спасибо за подсказку)
Но все же было бы интересно понять, как с этим python.h работать
Когда все же разберетесь и все заработает, то работать этот костыль будет только на той машине на которой это все собиралось.
Какая конечная цель данных извращений?
Это только про сборку проекта (каждому разработчика надо поменять путь на свой), сама программа может и будет работать (может еще .dll положить если библиотека не статическая) если кроме самой библиотеки питону ничего не надо. Тогда можно попробовать скопировать её в проект и использовать пути относительно проекта. (или поискать в NuGet, vcpkg и т.п.)
Действительно изврат какой то … Если либа не особо большая то может ее переписать лучше на си?? А если это стандартный какой то метод то может аналог есть??
Не обязательно отдельный, при вызове можно параметры передавать. python myscript.py hello "ivan petrovich" и в питоне доставать из sys.argv или с помощью click и т.п.
Еще один вариант: поднять питоном локально какой-нибудь сервер (HTTP, …) и отправлять туда запросы.
Да, ну оно видимо лежит в папке питона на винде как выше было, и возможно сработает если собирать свой проект в не отладочном режиме студии.
На линуксе просто не надо искать где эти файлы лежат, оно само добавит куда надо и будет достаточно просто #include <Python.h> и чего-то типа gcc -lpython3.