Можно ли встраивать MicroPython в приложение CPython? - PullRequest
0 голосов
/ 31 октября 2019

Отличается ли структура памяти? Сложно ли обмениваться объектами между CPython и MicroPython?

Backgroubd - это то, что я хочу использовать Python как LUA. Использовать полный CPython eval() или exec() слишком опасно, я надеюсь, что у меня может быть упрощенная версия Python, которая находится в «песочнице» и не имеет доступа к системному вызову моей операционной системы.

1 Ответ

0 голосов
/ 01 ноября 2019

CPython и MicroPython (и многие другие реализации в этом отношении) не делятся какими-либо подробностями реализации, поэтому передача объектов от одного к другому требует перевода типов в C. И я думаю, что аспект песочницы довольно ортогональн ккакую версию Python вы используете, то есть micropython написан на C точно так же, как CPython, поэтому для того, чтобы изолировать его и избежать доступа к какой-либо функциональности, вам понадобятся внешние компоненты или другие меры для поддержки этого. Например, в MicroPython также есть exec / eval, если вы не хотите, чтобы вы могли, например, исключить их компиляцию в исполняемый файл, как это было бы для CPython.

...