Ich schaue mir gerade Python an, weil ich die Textanalyse-Funktionen und die nltk-Bibliothek sehr mag, aber traditionell bin ich ein .Net / C # -Programmierer. Ich denke nicht, dass IronPython ein Integrationspunkt für mich ist, da ich NLTK verwende und vermutlich einen Port dieser Bibliothek für die CLR benötige. Ich habe ein wenig Python für .NET angeschaut und habe mich gefragt, ob das ein guter Startpunkt war. Gibt es eine Möglichkeit, eine Python-Klasse in C # zu marshallen? Wird diese Lösung weiterhin verwendet? Besser noch, hat jemand das getan? Eine Sache, die ich in Betracht ziehe, ist nur ein Persistenzmedium als Vermittler zu verwenden (in Python analysieren, in MongoDB speichern und Site in .NET ausführen).
NLTK ist pure-python und kann daher leicht auf IronPython ausgeführt werden. Eine Suche ergab dieses Ticket - alles, was Sie tun müssen, ist ein paar zusätzliche Python-Bibliotheken zu installieren das kommt nicht standardmäßig mit IronPython.
Dies ist wahrscheinlich der einfachste Weg für Sie, sich zu integrieren. Andernfalls müssen Sie Python entweder als Teilprozess ausführen, was komplex klingt, oder Python als Server ausführen, der Ihre Anforderungen beantwortet. Dies ist wahrscheinlich der am besten skalierbare, wenn auch komplexe Ansatz. Wenn Sie diesen Weg gehen, sollten Sie Twisted in Betracht ziehen, um den Servercode zu vereinfachen.
Aber versuchen Sie zuerst IronPython ...
Ich weiß nicht, warum Sie ein Problem mit IronPython haben. Sie können immer noch alle Nltk-Aufrufe dort verwenden.
Um Ihre Frage zur Portierung einer Python-Klasse in C # zu beantworten: kompilieren Sie Ihren Python-Code in eine EXE . Dies erstellt eine DLL mit all Ihren Python-Klassen. Das ist etwas, das es schon eine Weile gibt und es hat in der Vergangenheit wie ein Zauber für mich funktioniert.
Tags und Links python .net nlp nltk python.net