通过IronPython在C#中使用NLTK

9 投票
2 回答
7948 浏览
提问于 2025-04-17 02:27

我正在使用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。我缺少了什么呢?

2 个回答

2

好消息,Visual Studio 2017里内置了Anaconda的Python版本,这里面有NTLK和其他一些机器学习的工具包。

3

听起来你需要更新一下 sys.path,让它指向 NLTK 所在的地方。

可以看看这个链接: 在 IronPython 中导入外部模块

撰写回答