Ответ 1
Я предполагаю, что целью является создание отдельных сред выполнения python. Например, mod_wsgi (модуль Apache Python) размещает один интерпретатор python, а затем размещает несколько приложений в субширинках (в конфигурации по умолчанию).
Некоторые ключевые моменты из документации:
- Это (почти) полностью отдельная среда для выполнения кода Python. В частности, новый интерпретатор имеет отдельные независимые версии всех импортированных модулей, включая основные модули
__builtin__
,__main__
иsys
. - Таблица загруженных модулей (sys.modules) и путь поиска модуля (sys.path) также разделены.
- Поскольку суб-интерпретаторы (и основной интерпретатор) являются частью одного и того же процесса, изоляция между ними не идеальна - например, используя низкоуровневые файловые операции, такие как os.close(), они могут (случайно или злонамеренно) влиять другие открывают файлы.
- Из-за того, что расширения используются совместно (суб) интерпретаторами, некоторые расширения могут работать некорректно; это особенно вероятно, когда расширение использует (статические) глобальные переменные или когда расширение обрабатывает словарь своих модулей после его инициализации.