C#使用IronPython执行Python脚本,提示"No module named json"

pig357 2017-01-24 10:45:17
环境:VS2013 framework4.0 IronPython2.7.7
问题:我想在WPF程序中执行Python脚本,使用IronPython2.7.7来调用Python,发现"import json"时始终提示No module named json

脚本如下:

#!/usr/bin/env python
# coding:utf-8
import json
s1 = '{"name":"风轻情淡","age":28,"address":"深圳"}'
d1 = json.loads(s1, encoding="utf-8")
print(d1, type(d1))


C# 调用代码:

try
{
ScriptEngine engine = Python.CreateEngine();
ScriptScope scope = engine.CreateScope();
ScriptSource script = engine.CreateScriptSourceFromFile(python1);

var result = script.Execute(scope);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}


IronPython2.7.7是通过Nuget安装的,我怀疑是不是有什么环境需要配置,请大家帮帮忙,看下是什么问题?
...全文
1457 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
IrisHuanggg 2018-03-08
  • 打赏
  • 举报
回复
知道了,将IronPython安装目录下的Lib文件夹拷贝到你的Release或Debug路径下就行啦!
pig357 2017-02-03
  • 打赏
  • 举报
回复
引用 5 楼 shingoscar 的回复:
还是有个下划线啊
加不加下划线都一样的效果
Poopaye 2017-01-26
  • 打赏
  • 举报
回复
还是有个下划线啊
pig357 2017-01-25
  • 打赏
  • 举报
回复
引用 3 楼 shingoscar 的回复:
或者把sys.path打出来看是不是正确


我把sys.path都加入了之后,还是不行
Poopaye 2017-01-24
  • 打赏
  • 举报
回复
或者把sys.path打出来看是不是正确
Poopaye 2017-01-24
  • 打赏
  • 举报
回复
不是有个下划线么
pig357 2017-01-24
  • 打赏
  • 举报
回复
经过测试修改,在设置环境变量后能够调用json模块,但无法调用sqlite3模块,提示“No module named _sqlite3”.然而在cmd命令中使用Python命令,是可以import sqlite3的。真心奇怪。 请问这是什么原因 啊?

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧