@pauline Подключить IronPython к веб-приложению на ASP.NET можно, если тебе нужно выполнять Python-скрипты в .NET-среде. IronPython — это реализация Python на платформе .NET, и она позволяет встраивать Python-код в .NET-приложения, включая ASP.NET.
Вот пошаговое руководство:
IronPython.dll
, Microsoft.Scripting.dll
и Microsoft.Dynamic.dll
в проект ASP.NET:Через NuGet: IronPython.StdLib
, IronPython
, Microsoft.Scripting
1 2 |
Install-Package IronPython Install-Package IronPython.StdLib |
Допустим, у тебя есть веб-приложение на ASP.NET MVC или Web Forms, и ты хочешь выполнить Python-скрипт.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
using System; using IronPython.Hosting; using Microsoft.Scripting.Hosting; public class PythonRunner { public string RunScript(string code) { ScriptEngine engine = Python.CreateEngine(); ScriptScope scope = engine.CreateScope(); // Пример переменной scope.SetVariable("name", "Мир"); var script = $"result = 'Привет, ' + name"; engine.Execute(script, scope); dynamic result = scope.GetVariable("result"); return result; } } |
А в контроллере:
1 2 3 4 5 6 7 |
public ActionResult RunPython() { var runner = new PythonRunner(); string output = runner.RunScript("print('Hello')"); ViewBag.Result = output; return View(); } |
📁 3. Исполнение внешнего Python-файла
1 2 |
string scriptPath = Server.MapPath("~/Scripts/myscript.py"); engine.ExecuteFile(scriptPath, scope); |
Если ты планируешь запускать сторонний код — ограничь доступ, изолируй среду и не позволяй выполнять команды, которые могут повредить системе (например, os.system
).