c# - 通过 IronPython 在 C# 中使用 NLTK

标签 c# python ironpython nltk

我使用的是 Visual Studio 2010。我有一个 IronPython 控制台项目和一个 C# 控制台项目。这个 IronPython 脚本在我单独运行时运行良好:

import nltk

def Simple():
    baconIpsumFile = open('baconipsum.txt', 'r')
    baconIpsumCorpus = baconIpsumFile.read()

    tokens = nltk.word_tokenize(baconIpsumCorpus)
    text = nltk.Text(tokens)
    print text

这是 C# 控制台程序,它不能正常工作:

using IronPython.Hosting;

namespace IronNLTK.CSharp.Console
{
    class Program
    {
        static void Main(string[] args)
        {
            var ipy = Python.CreateRuntime();
            dynamic test = ipy.UseFile("C:\\Path\\To\\Program.py");
            test.Simple();
        }
    }
}

我得到一个ImportException: No module named nltk。我错过了什么?

最佳答案

听起来您需要更新 sys.path 以指向 NLTK 所在的位置。

检查一下:Importing external module in IronPython

关于c# - 通过 IronPython 在 C# 中使用 NLTK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7446992/

相关文章:

python - 仅当代码不在函数或类中时,使用 smtplib 向 mailtrap 发送电子邮件才有效

c# - Process.StandardOutput.ReadToEnd() - 输出为空。从 cmd 运行相同的应用程序 - 输出正常

c# - Linq to Sql - SelectMany

python - 在Python中实现看门狗定时器的工具

c# - 从 json 格式对象获取值

python - 如何使用 python 对连续对中的字符串进行标记?

c# - 如何使用 IronPython 将参数传递给 Python 脚本

c# - 如何向嵌入式 IronPython 解释器公开重载方法?

c# - 如何从格式化字符串中删除空行

c# - Simple Injector 是否有任何技术原因无法支持 .NET 4.0 上的 Web API?