То, что я пытаюсь сделать, это отправить мой код на удаленный сервер, который может иметь другую версию python и/или может не иметь пакетов, требуемых моим приложением.
Прямо сейчас, чтобы добиться такой переносимости, мне нужно создать перемещаемый virtualenv с помощью интерпретатора и кода. У этого подхода есть некоторые проблемы (например, вам нужно вручную скопировать кучу библиотек в ваш virtualenv, так как --always-copy
работает не так, как ожидалось) и обычно медленнее.
Там (теоретически) путь для создания самого python статически.
Интересно, могу ли я упаковать интерпретатор с моим кодом в один двоичный файл и запустить мое приложение в качестве модуля. Что-то вроде этого: ./mypython -m myapp run
или ./mypython -m gunicorn -c ./gunicorn.conf myapp.wsgi:application
.