Python和.NET集成

问题描述:

我目前正在看Python,因为我非常喜欢文本解析功能和nltk库,但传统上我是一个.Net/C#程序员。我不认为IronPython对我来说是一个集成点,因为我正在使用NLTK,并且可能需要将该库的一个端口用于CLR。我看了一下Python for .NET,想知道这是否是一个很好的开始。有没有办法将一个python类编组到C#中?此外,这个解决方案还在被使用吗?更好的是,有没有人做过这个?我正在考虑的一件事就是使用持久性媒介作为中介(在Python中解析,在MongoDB中存储,在.NET中运行站点)。Python和.NET集成

NLTK是纯python,因此可以轻松地在IronPython上运行。搜索结果为this ticket - 所有人都需要安装一些额外的Python库,这些库在默认情况下不会与IronPython一起提供。

这可能是您整合的最简单方法。否则,您必须将Python作为子流程运行,这听起来很复杂,或者将Python作为服务器运行,以响应您的请求。这可能是最具扩展性但复杂的方法。如果你这样做,考虑Twisted来简化服务器代码。

但是请先尝试IronPython ...

+0

不错,这就是我一直在寻找的东西。我担心IronPython无法支持NLTK的所有功能,但如果我需要的只是其他库,那太棒了。 – Trent 2009-11-24 16:44:21

只是一个想法

如何运行背后的Python作为服务器,它从.NET与插座连接?

由于NLTK加载需要时间,并且无论如何都要提前加载。

我不知道为什么你有IronPython的问题。你仍然可以在那里使用任何和所有的nltk电话。

要回答关于将Python类移植到C#中的问题,请尝试compiling your python code into an EXE。这将创建一个包含所有Python类的DLL。这是已经存在了一段时间,它已经像过去一样魅力对我来说