Question

Je cherche actuellement à python parce que je vraiment comme les capacités d'analyse de texte et la bibliothèque NLTK, mais je suis toujours un .Net / C # programmeur. Je ne pense pas IronPython est un point d'intégration pour moi parce que je me sers NLTK et aurait probablement besoin d'un port de cette bibliothèque à la CLR. Je l'ai regardé un peu à Python .NET et je me demandais si cela était un bon endroit commencer. Est-il un moyen de rassembler une classe de python en C #? En outre, cette solution est encore utilisée? Mieux encore, quelqu'un at-il fait cela? Une chose que je considère est juste en utilisant un support de persistance comme un entremetteur (parser en Python, magasin dans MongoDB, et le site d'exécution .NET).

Était-ce utile?

La solution

NLTK est pur-python et peut donc être fait pour fonctionner sur IronPython facilement. Une recherche a permis ce billet - tout ce qu'on a à faire est d'installer un deux bibliothèques Python supplémentaires qui ne sont pas par défaut avec IronPython.

Ceci est probablement la meilleure façon pour vous d'intégrer. Dans le cas contraire, vous devrez soit exécuter Python comme un sous-processus, qui semble complexe, ou d'exécuter Python comme un serveur qui répond à vos demandes. Ceci est probablement l'approche la plus évolutive, bien que complexe. Si vous allez de cette façon, envisager Twisted pour simplifier le code du serveur.

Mais essayez d'abord IronPython ...

Autres conseils

Je ne sais pas pourquoi vous avez un problème avec IronPython. vous pouvez toujours utiliser toute NLTK appelle là.

Pour répondre à votre question sur le portage d'une classe Python en C #: essayez la compilation de votre code python dans un EXE. Cela crée une DLL avec toutes vos classes de python en elle. C'est quelque chose qui a été autour pendant un certain temps et il a travaillé pour moi comme un charme dans le passé

Juste une idée

Qu'en est-il en cours d'exécution Python derrière comme serveur, et connectez-le à partir de .NET avec prise?

Depuis NLTK chargement prendre le temps et une meilleure charge à l'avance de toute façon.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top