2011-09-16 31 views
9

Visual Studio 2010 kullanıyorum. Bir IronPython konsol projesi ve C# konsol projesi var. İşteC# ile IronPython kullanarak NLTK kullanma

import nltk 

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

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

ince çalışmıyor C# konsol programıdır: Bu IronPython komut ben tek başına çalıştırdığınızda çalışıyor

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(); 
     } 
    } 
} 

Bir ImportException: No module named nltk olsun. Neyi kaçırıyorum?

+1

'ipy' çalışma zamanı ile etkileşime girebilir ve oradaki yolu ayarlayabilir misiniz? – Travis

+0

Bunu denedim. Yani http://stackoverflow.com/questions/1371994/importing-external-module-in-ironpython –

cevap

3

, NLTK'nın yaşadığı yere işaret etmek için sys.path'i güncellemeniz gerektiği gibi geliyor.

onay bunu: Importing external module in IronPython

+0

adresinde kabul edilen yanıtı sys.path.append (r "c: \ Program Files (x86) \ IronPython \) gibi bir anlama gelirseniz Lib ") ya da çalışmıyor –

+1

Tabii ki işe yaramıyor. Ters eğik çizgi kaçış karakteridir. Eğer bir Python dizgisine bir yol koymak istiyorsanız, o zaman C:/Progr ... veya C: \\ Progr ... –

+1

yapmalısınız. Ayrıca, taşınabilir yazılımın yollarla ilgili bir problemi olması alışılmadık bir durum değildir. adında boşluklar var. C: \ IronPython'da başka bir IronPython örneğini yüklemeyi denediniz, böylece isimlerde boşluk olan diziniz yok mu? –

0

Müthiş haber, Visual Studio 2017 NTLK ve diğer makine öğrenme paketleri vardır Anaconda Python dağıtımı ile gömülür.