как использовать библиотеки python в C++?

Я хочу использовать в nltk библиотеки на c++.

есть ли язык/механизм клея, который я могу использовать для этого?

причина: Какое-то время я не занимался серьезным программированием на C++ и хочу одновременно пересмотреть концепции НЛП.

спасибо

4 ответов


вы также можете попробовать импульс.Питон библиотека; имеющего эта возможность. Эта библиотека в основном используется для предоставления C++ Python, но может использоваться и наоборот.


хотя вызов c++ libs из python является более нормальным - вы можете вызвать модуль python из C++, вызывая Python intepreter и заставить его выполнить источник python. Это называется вложение

или импульс.питон библиотека делает это очень легко.


Я не пробовал напрямую вызывать функции Python из C++, но вот некоторые альтернативные идеи...

Как правило, проще вызвать код C++ с языка высокого уровня, такого как Python, чем наоборот. Если вас интересует этот подход, вы можете создать кодовую базу C++ и получить к ней доступ из Python. Вы можете либо напрямую использовать внешний API, предоставляемый python [он должен быть описан где-то в документах Python], либо использовать такой инструмент, как SWIG для автоматизации Процесс обертывания C++ - на-Python.

в зависимости от того, как вы хотите использовать библиотеку, вы можете альтернативно создавать скрипты Python, которые вы вызываете из C++ с помощью exec* функции.


Pyrex можно аккуратно использовать для этой цели. Есть пример в выпуске исходного кода.