Питон and.NET интеграция
В настоящее время я смотрю на python, потому что мне очень нравятся возможности синтаксического анализа текста и библиотека nltk, но традиционно я программист .Net/C#. Я не думаю, что IronPython является точкой интеграции для меня, потому что я использую NLTK и, вероятно, потребуется порт этой библиотеки в CLR. Я немного посмотрел наPython для .NET и подумал, что это хорошее место для начала. Есть ли способ маршалировать класс python в C#? Кроме того, это решение все еще используется? А еще лучше, сделал ли это кто-нибудь? Одна вещь, которую я рассматриваю, - это просто использование среды персистентности в качестве посредника (разбор в Python, хранение в MongoDB и запуск сайта в .NET).
3 ответа:
NLTK-это чистый python, и поэтому его можно легко заставить работать на IronPython. Поиск показал этот билет - все, что нужно сделать, это установить пару дополнительных библиотек Python, которые не поставляются по умолчанию с IronPython.
Это, вероятно, самый простой способ для вас интегрироваться. В противном случае вам придется либо запускать Python как подпроцесс, что звучит сложно, либо запускать Python как сервер, который отвечает на ваши запросы. Это, вероятно, самый масштабируемый, хотя и сложный подход. Если вы идете этим путем, рассматриваете Twisted для упрощения кода сервера.
Но сначала попробуйте IronPython...
Я не знаю, почему у тебя проблемы с Айронпифоном. вы все еще можете использовать любые и все вызовы nltk там.
Чтобы ответить на ваш вопрос о переносе класса Python в C#: попробуйте скомпилировать код python в EXE. Это создает DLL со всеми вашими классами python в нем. Это то, что было вокруг в течение некоторого времени, и это работало как очарование для меня в прошлом