Running multiple uwsgi python versions

The "elegant" way is building the uWSGI python support as a plugin, and having a plugin for each python version:

(from uWSGI sources)

make PROFILE=nolang

(will build a uWSGI binary without language support)

PYTHON=python2.7 ./uwsgi --build-plugin "plugins/python python27"

will build the python27_plugin.so that you can load in vassals

PYTHON=python3 ./uwsgi --build-plugin "plugins/python python3"

will build the plugin for python3 and so on.

There are various way to build uWSGI plugins, the one i am reporting is the safest one (it ensure the #ifdef are honoured).

Having said that, having a uWSGI Emperor for each python version is viable too. Remember Emperor are stackable, so you can have a generic emperor spawning one emperor (as its vassal) for each python version.