Проблема не только в упаковке. Вы застряли, используя инструменты интерпретатора для каждой версии Python независимо, и поэтому вы будете перетасовывать два двоичных файла, а не один. Я уверен, что многие поставщики уже делают это - например, Dropbox запускает несколько процессов на основе Python, взаимодействующих друг с другом на компьютере в определенный момент времени между пользовательским интерфейсом и процессами синхронизации.
Вторая проблема заключается в обмене результатами между интерпретаторами, это одна из целей библиотеки execnet
, но в основном она создает канал совместно используемой памяти вне локального пространства процессов и определяет общий протокол сериализации. между каждым процессом. Popen
не очень надежен, если вызываемые вами команды не имеют детерминированных результатов, и вы хотите дополнительно манипулировать результатами после их возврата.
Этот подход IPC может быть расширен по сети на RPC или HTTP, если вы хотите разместить свои приложения на внешних серверах или, например, с помощью Docker, что является одной из причин популярности микросервисов - вы можете независимо развертывать и масштабировать различные "ограниченные контексты"