IronPython продолжает сбой в методе Compile (). Не знаю, как решить

#.net-core #ironpython

Вопрос:

             var engine = Python.CreateEngine();
            var scope = engine.CreateScope();
            var source = engine.CreateScriptSourceFromString(filePath, SourceCodeKind.File);
            var compiled = source.Compile();
            var result = source.Execute(scope);
 

Ошибка, которую я получаю, находится в исходном коде.Скомпилировать()

    at Microsoft.Scripting.Hosting.ErrorListenerProxySink.Add(SourceUnit sourceUnit, String message, SourceSpan span, Int32 errorCode, Severity severity)
   at IronPython.Compiler.Parser.ReportSyntaxError(Int32 start, Int32 end, String message, Int32 errorCode)
   at IronPython.Compiler.Parser.ReportSyntaxError(Token t, IndexSpan span, Int32 errorCode, Boolean allowIncomplete)
   at IronPython.Compiler.Parser.ReportSyntaxError(TokenWithSpan t, Int32 errorCode)
   at IronPython.Compiler.Parser.EatNewLine()
   at IronPython.Compiler.Parser.ParseSimpleStmt()
   at IronPython.Compiler.Parser.ParseStmt()
   at IronPython.Compiler.Parser.ParseFileWorker(Boolean makeModule, Boolean returnValue)
   at IronPython.Compiler.Parser.ParseFile(Boolean makeModule, Boolean returnValue)
   at IronPython.Runtime.PythonContext.ParseAndBindAst(CompilerContext context)
   at IronPython.Runtime.PythonContext.CompilePythonCode(SourceUnit sourceUnit, CompilerOptions options, ErrorSink errorSink)
   at IronPython.Runtime.PythonContext.CompileSourceCode(SourceUnit sourceUnit, CompilerOptions options, ErrorSink errorSink)
   at Microsoft.Scripting.SourceUnit.Compile(CompilerOptions options, ErrorSink errorSink)
   at Microsoft.Scripting.SourceUnit.Compile(ErrorSink errorSink)
   at Microsoft.Scripting.Hosting.ScriptSource.CompileInternal(CompilerOptions compilerOptions, ErrorListener errorListener)
   at Microsoft.Scripting.Hosting.ScriptSource.Compile()
   at ReducedFareSystem.API.Helper.PythonScript.RunFromString() in PythonScript.cs:line 31
 

Мой скрипт на Python предназначен для запуска с вводом 0 параметров и генерирует PDF-файл.
Я запустил свой скрипт на Python, и он отлично работает из командной строки.

Комментарии:

1. у кого-нибудь есть какие-нибудь соображения?

Ответ №1:

Я уже запускал несколько сценариев на python раньше, и мне не нужны были ScriptScope и компиляция для выполнения моего сценария.

             Microsoft.Scripting.Hosting.ScriptEngine pythonEngine = IronPython.Hosting.Python.CreateEngine();
            Microsoft.Scripting.Hosting.ScriptSource pythonScript = pythonEngine.CreateScriptSourceFromFile("pathtofile.py");
            pythonScript.Execute();
 

Попробуйте вот так, может быть, это сработает без каких-либо ошибок?