Подтвердить что ты не робот

Можно ли встроить PyPy в приложение .NET?

Я хотел бы встроить интерпретатор Python в свое .NET-приложение. Конечно, я знаю IronPython, но меня особенно интересует PyPy из-за его поддержки без стека и микропотоков.

Однако, хотя PyPy можно построить против CLI, похоже, что это просто дает вам автономный интерпретатор Python a la python.exe. Я не смог найти документацию для создания чего-то, что может быть встроено в хост-приложение .NET.

Есть ли способ использовать (без стека) PyPy для запуска скриптов Python из .NET-приложения и позволить этим скриптам взаимодействовать с объектами CLR, предоставляемыми хост-приложением?

4b9b3361

Ответ 1

Бэкэнд PyPy CLI не настолько зрелый, как C-сервер, а также не интегрируется с библиотеками .NET. В то время как обычный PyPy, скомпилированный в C, готов к производству, я бы не стал готовым к выпуску версии .NET. В нем также отсутствует JIT (хотя некоторые работы были выполнены в этой области) и микропотоков. Если кто-то не вступит, IronPython, по-видимому, является единственным жизнеспособным вариантом на данный момент.

Ответ 2

Нет, нет. CPython имел возможность обращаться к библиотекам .NET, используя Python для .NET(см. http://pythonnet.github.io/), поддерживаемый в github, но, кроме IronPython, был способом фактически внедрить интерпретатор Python в приложение .NET. Это было одним из основных пунктов продажи.

В соответствующей заметке IronPython (по умолчанию) имеет меньший размер стека, чем CPython, когда речь идет о рекурсии. То есть вы должны передать опцию командной строки "-X: FullFrames" для ipy.exe, чтобы включить кадры стека CPython-esque. Знайте, что это не так хорошо, как PyPy... но это может помочь:)