在C#中执行python脚本我正在尝试在C#中执行python代码。通常应该使用IronPython并在安装PTVS之后完成(我使用的是VS2010)。varpyEngine=Python.CreateEngine();varpyScope=pyEngine.CreateScope();尝试{pyEngine.ExecuteFile("plot.py",pyScope);}catch(Exceptionex){Console.WriteLine("你的Python代码有问题:"+ex.Message);}问题是IronPython似乎无法识别像numpy、pylab或matplotlib这样的库。我看了一下,发现有人在谈论EnthoughtCanopy或Anaconda,这两个我都安装了但没有解决问题。我应该怎么做才能解决这个问题?为了执行导入某些库(如numpy和pylab)的Python脚本,请执行以下操作:stringarg=string.Format(@"C:UsersayedDesktopIronPythonExamplesRunExternalScriptplot.py");//Python代码的路径Processp=newProcess();p.StartInfo=newProcessStartInfo(@"D:WinPythonWinPython-64bit-2.7.5.3python-2.7.5.amd64python.exe",arg);p.StartInfo.UseShellExecute=false;p.StartInfo.CreateNoWindow=true;//隐藏命令行窗口p.StartInfo.RedirectStandardOutput=false;p.StartInfo.RedirectStandardError=false;进程processChild=Process.Start(p.StartInfo);如果您执行代码,IronPython将只在当前工作目录中查找脚本。您需要添加更多搜索路径。这是我使用ironpython的应用程序中一些旧集成代码的一部分:varruntimeSetup=Python.CreateRuntimeSetup(null);runtimeSetup.DebugMode=false;runtimeSetup.Options["Frames"]=true;runtimeSetup.Options["FullFrames"]=true;varruntime=newScriptRuntime(runtimeSetup);varscriptEngine=runtime.GetEngineByTypeName(typeof(PythonContext).AssemblyQualifiedName);//设置默认搜索路径ICollectionsearchPaths=scriptEngine.GetSearchPaths();searchPaths.Add("\Scripts\Python");scriptEngine.SetSearchPaths(searchPaths);诀窍是在这行代码中添加所有路径:scriptEngine.SetSearchPaths(searchPaths);.如果您在此处添加包含plot.py的目录,那么plot.py一切都应该有效。希望这可以帮助。以上就是C#学习教程:在C#中执行python脚本全部内容分享。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
