我试图使用IronPython在.net应用程序中运行一个简单的python脚本。我已经在项目中安装了nuget包(我没有在我的机器上安装ironpythoncli),并编写了以下代码来处理设置路径、读取输出和设置输入。在
this.engine = Python.CreateEngine();
this.scope = this.engine.CreateScope();
this.streamOut = new MemoryStream();
this.streamErr = new MemoryStream();
this.engine.Runtime.IO.SetOutput(this.streamOut, Encoding.Default);
this.engine.Runtime.IO.SetErrorOutput(this.streamErr, Encoding.Default);
// this is a locally set environment variable
string pythonRootPath = Environment.GetEnvironmentVariable("PythonPath");
ICollection<string> searchPaths = engine.GetSearchPaths();
searchPaths.Add($@"{pythonRootPath}\Lib\site-packages\");
searchPaths.Add($@"{pythonRootPath}\Lib");
engine.SetSearchPaths(searchPaths);
this.engine.Execute(@"import jinja2");
执行脚本会导致以下异常
^{pr2}$我的C项目引用了以下相关(与IronPython相关)程序集:
对于我的目的来说,我的路径设置得足够好,因为不是jinja2本身的导入导致了错误,而且我能够导入一些标准的库模块。但是,我看到os
包无法导入的原因与jinja2相同。我也不能像预期的那样直接导入errno,但是如果我通过python2.7cli运行errno,那么就可以直接导入它,这样就安装了包。在
如果有人有什么建议的话,我真是没办法了。在
目前没有回答
相关问题 更多 >
编程相关推荐