9
votes

Python et intégration .NET.

Je regarde actuellement Python parce que j'aime beaucoup les capacités d'analyse de texte et la bibliothèque NLTK, mais traditionnellement, je suis un programmeur .NET / C #. Je ne pense pas que Irimpypthon est un point d'intégration pour moi, car j'utilise NLTK et j'aurais vraisemblablement besoin d'un port de cette bibliothèque vers le CLR. J'ai regardé un peu à python pour .NET et je me demandais si c'était un bon endroit commencer. Y a-t-il un moyen de marshaler une classe Python dans C #? Aussi, cette solution est-elle toujours utilisée? Mieux encore, quelqu'un a fait cela? Une chose que je considère consiste simplement à utiliser un support de persistance comme un entretien entre (analyses dans Python, magasin de MongoDb et exécuté dans .NET).


0 commentaires

3 Réponses :


2
votes

juste une idée

Que diriez-vous de faire fonctionner Python derrière comme serveur et de le connecter de .NET avec prise?

Depuis que le chargement NLTK prend du temps et de mieux le charger à l'avance de toute façon.


0 commentaires

6
votes

Je ne sais pas pourquoi vous avez un problème avec IronPython. Vous pouvez toujours utiliser tous les appels NLTK.

Pour répondre à votre question sur le portage d'une classe Python dans c #: essayez Compilation de votre code Python dans un EXE . Cela crée une DLL avec toutes vos classes de python. C'est quelque chose qui existe depuis un moment et cela a travaillé comme un charme pour moi dans le passé


0 commentaires

9
votes

NLTK est pur-python et peut donc être fait pour fonctionner facilement sur IronPython. Une recherche est allumée Ce billet - Tout ce que l'on doit faire est d'installer un Couple de bibliothèques de python supplémentaires qui ne viennent pas par défaut avec IronPython.

C'est probablement le moyen le plus simple pour vous d'intégrer. Sinon, vous devrez exécuter Python en tant que sous-processus, qui semble complexe ou exécutant Python en tant que serveur qui répond à vos demandes. C'est probablement la approche la plus évolutive, bien complexe. Si vous allez de cette façon, considérez torsé pour simplifier le code du serveur.

Mais essayez d'abord Ir IronPython ...


1 commentaires

Nice, c'est ce que je cherchais. J'avais peur que Ironpython ne serait pas capable de soutenir toutes les fonctionnalités de la NLTK, mais si tout ce dont j'ai besoin n'est que des bibliothèques supplémentaires, c'est fantastique.