2015-12-11 1 views
1

В настоящее время я делаю проект в Голанге, которому нужно позвонить на Python.Как создать несколько экземпляров Python в приложении Go

В Python это библиотека однопользовательского экземпляра.

Но я не могу изменить эту библиотеку, потому что это слишком сложно. (для меня)

Большая часть, что я могу сделать, это обернуть его собственным скриптом Python.

Так что я нахожу способ создать несколько интерпретаторов Python в Go.

Или, может быть, несколько суб-интерпретаторов в Python.

Это означает, что я могу создать много экземпляров python (одно приложение).

Любые способы я могу это сделать?

+1

Если вы правильно поняли, что хотите создать несколько экземпляров сценариев Python из программы Go. Я бы использовал комбинацию goroutines и пакет [os/exec] (https://golang.org/pkg/os/exec/) для запуска и мониторинга процессов Python в потоках goroutine. –

+1

Я думаю, что это слишком сложно сделать, что может стать очень сложным. Вместо этого я думаю, что вы должны как можно больше разделить код двух языков и использовать своего рода брокера или интерфейс, например @ChrisTownsend, предлагаемый пакет «os/exec» или брокер сообщений, если это распределенная система. – PieOhPah

+0

Я выбрасываю мой мотив go-python. Спасибо вам обоим. –

ответ

0

Как Крис Таунсенд и пирог-о-тьфу сказал

Попытка реализовать суб-интерпретатор гораздо больше усложнять.

Попытайтесь создать языковой интерфейс, создайте чувства для моего случая.

В этой ситуации os/exec - это путь.

И может даже создать ssh для удаленного моего модуля python, если мой главный сервер перегружен.

Смежные вопросы