2016-12-27 11 views
1

私はIronPythonのは、私のPythonのファイルは次のようになりますIronPythonの:いいえモジュールという名前のJSON

インストールされている:

import sys 
print(sys.version) 
import json 

それを実行するコード:

var p = Python.CreateEngine(); 
var scope = p.CreateScope(); 
p.ExecuteFile("Test.py", scope); 

それはアウト出力します「2.7 .7(.NET 4.0.30319.42000(32ビット)のIronPython 2.7.7(2.7.7.0)) " しかし例外が発生して失敗します:jsonという名前のモジュールがありません

このバージョンのIronPythonにはjsonモジュールが含まれているはずです。

なぜこのエラーが発生しますか?

答えて

3

Visual StudioのインタラクティブなPythonウィンドウでこのエラーが発生していないことがすぐに分かりました。

print sys.pathも対話型ウィンドウと問題のファイルに異なる値を示していました。 bin/Debugフォルダからのパスのみが含まれていました。

var p = Python.CreateEngine(); 
var scope = p.CreateScope(); 
var libs = new[] { 
    "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\IDE\\Extensions\\Microsoft\\Python Tools for Visual Studio\\2.2", 
    "C:\\Program Files (x86)\\IronPython 2.7\\Lib", 
    "C:\\Program Files (x86)\\IronPython 2.7\\DLLs", 
    "C:\\Program Files (x86)\\IronPython 2.7", 
    "C:\\Program Files (x86)\\IronPython 2.7\\lib\\site-packages" 
}; 

p.SetSearchPaths(libs); 
p.ExecuteFile("Test.py", scope); 
+0

ニース、そしてその作品:

一つは、簡単に正しいパスを追加することができます。どうもありがとう –

関連する問題