IronPython:没有名为json的模块

默多克

我已经安装了IronPython

我的python文件看起来像这样:

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模块。

为什么会出现此错误?

默多克

我很快发现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);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章