CPython скриптование управляемых приложений.
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 11.12.20 14:11
Оценка: -2
Видили ли вы где-нибудь пример того, чтобы приложение было написано на C#,
а к нему предлагалось скриптование на Python, причём нативным питоном из операционной системы,
без всяких там IronPython.

1) .Net-приложение это процесс, точнее код, выполняемый в процессе, созданном операционной системой.
Причём это управляемый код. То есть рантайм среды выполнения даёт гарантии по поводу работы кода в пределах процесса.
2) если хочется запустить питон (то есть неуправляемый код интерпретатора CPython,
то лучше бы это делать в соседнем процессе.
3) надо обеспечить перехват вывода на консоль,
а так же подачу ввода на стандартный ввод.
4) надо сделать окошечко, где пользователь будет видет консоль интерпретатора python

А как сам питон будет общаться с .NET-приложением?
Ну, там будет враппер (написанный на python) к C-библиотеке,
которая будет через любой из механизмов взаимодействия между процессами
общаться с .Net-приложением.

Где питоновые библиотеки взять? Они тут:

https://pypi.org/
Python Package Index
a repository of software for the Python programming language.

И вот есть какая-то на 80% написанная на C# (т.е. C# будет загружен и во второй процесс с питоном,
что не очень хорошо, но можно пережить и воспользоваться Remoting-ом, например).

pythonnet offers a simple way to call C# from a Python program.
https://github.com/pythonnet/pythonnet

Есть ли другие решения?
Отредактировано 11.12.2020 14:41 Эйнсток Файр . Предыдущая версия .
c# interop безумие python3
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.