Pergunta

Atualmente, estou olhando para o Python porque realmente gosto dos recursos de análise de texto e da biblioteca NLTK, mas tradicionalmente sou um programador .NET/C#. Eu não acho que o Ironpython seja um ponto de integração para mim, porque estou usando o NLTK e presumivelmente precisaria de uma porta dessa biblioteca para o CLR. Eu olhei um pouco Python para .net E estava se perguntando se este era um bom lugar para começar. Existe uma maneira de marcar uma classe python em C#? Além disso, essa solução ainda está sendo usada? Melhor ainda, alguém fez isso? Uma coisa que estou considerando é apenas usar um meio de persistência como intermediário (analisar em Python, armazenar em MongoDB e executar um local no .NET).

Foi útil?

Solução

O NLTK é puro-python e, portanto, pode ser feito para funcionar com o Ironpython facilmente. Uma pesquisa apareceu Este ingresso - Tudo o que se deve fazer é instalar algumas bibliotecas python extras que não vêm por padrão com o Ironpython.

Esta é provavelmente a maneira mais fácil de integrar. Caso contrário, você terá que executar o Python como um subprocesso, que soa complexo ou executa o Python como um servidor que atende suas solicitações. Esta é provavelmente a abordagem mais escalável, embora complexa. Se você for assim, considere torcido para simplificar o código do servidor.

Mas tente o Ironpython primeiro ...

Outras dicas

Não sei por que você tem um problema com o Ironpython. Você ainda pode usar toda e qualquer chamada NLTK lá.

Para responder sua pergunta sobre portar uma classe Python para C#: tente compilar seu código python em um exe. Isso cria uma DLL com todas as suas classes Python. Isso é algo que já existe há algum tempo e funcionou como um charme para mim no passado

Apenas uma ideia

Que tal correr Python atrás como um servidor e conectá -lo do .NET com soquete?

Como o carregamento do NLTK leva tempo e carregue melhor -o com antecedência de qualquer maneira.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top