Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过IronPython在C#中使用NLTK_C#_Python_Ironpython_Nltk - Fatal编程技术网

通过IronPython在C#中使用NLTK

通过IronPython在C#中使用NLTK,c#,python,ironpython,nltk,C#,Python,Ironpython,Nltk,我正在使用VisualStudio2010。我有一个IronPython控制台项目和一个C#控制台项目。当我自己运行IronPython脚本时,它工作得很好: import nltk def Simple(): baconIpsumFile = open('baconipsum.txt', 'r') baconIpsumCorpus = baconIpsumFile.read() tokens = nltk.word_tokenize(baconIpsumCorpus

我正在使用VisualStudio2010。我有一个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();
        }
    }
}

我得到一个
导入异常:没有名为nltk的模块。我遗漏了什么?

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


查看此消息:

非常棒的消息,Visual Studio 2017嵌入了Anaconda的Python发行版,其中包含NTLK和其他机器学习软件包。

如果您指的是像sys.path.append(r“c:\Program Files(x86)\IronPython\Lib)这样的东西,它当然不起作用。反斜杠是字符串转义字符。如果要在Python字符串中放置路径,则需要执行C:/Progr。。。或C:\\Progr…此外,便携式软件在名称中包含空格的路径上出现问题也很常见。您是否尝试过在C:\IronPython中安装另一个IronPython实例,以便在名称中没有任何带有空格的目录?是的,对不起,我确实使用了转义反斜杠,但我会查看路径名中的空格…您能否与
ipy
运行时交互并调整那里的路径?我也尝试过这样做。即,在