2011-09-16 18 views
9

私はVisual Studio 2010を使用しています。IronPythonコンソールプロジェクトとC#コンソールプロジェクトがあります。私はそれを実行すると、このIronPythonのスクリプトは、それ自体で正常に動作します:ここでIronPythonでC#でNLTKを使用する

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を取得します。私は何が欠けていますか?

+1

'ipy'ランタイムとやりとりしてパスを調整できますか? – Travis

+0

私もそれを試みました。私。あなたがsys.path.append(r "c:\ Program Files(x86)\ IronPython \ append"のようなものを意味するならば、http://stackoverflow.com/questions/1371994/importing-external-module-in-ironpython –

答えて

3

NLTKがどこに住んでいるかを指すsys.pathを更新する必要があるように聞こえます。

このうち

チェック:Importing external module in IronPython

+0

の答えは、 Lib ")でも動作しません –

+1

もちろん動作しません。バックスラッシュは文字列エスケープ文字です。 Python文字列にパスを入れたい場合は、C:/ Progr ...またはC:\\ Progr ... –

+1

を実行する必要があります。また、ポータブルソフトウェアでパスに問題があることも珍しくありません名前にスペースが含まれています。 IronPythonの別のインスタンスをC:\ IronPythonにインストールしようとしましたが、名前にスペースを含むディレクトリがないようにしましたか? –

0

恐ろしいニュース、Visual Studioの2017年にはNTLKや他の機械学習パッケージを持っているアナコンダのPythonのディストリビューションに組み込まれています。

関連する問題