К сожалению, uWSGI должен быть скомпилирован с версией Python, соответствующей вашему virtualenv.Это означает: если uWSGI был скомпилирован с python 2.7, вы не можете использовать python 3.6 в вашем virtualenv (и в вашем приложении Django).
К счастью, есть несколько способов исправить это:
- Установка uWSGI внутри вашего virtualenv и использование этого двоичного файла uWSGI для запуска Django.
- Использование Python в качестве плагина для uWSGI.
Первый довольно прост.Все, что вам нужно сделать, это изменить путь к двоичному файлу uWSGI в вашем скрипте запуска, чтобы он указывал на uWSGI, установленный в вашем virtualenv.(Если вы запускаете uWSGI с использованием systemd, я рекомендую использовать системные юниты systemd. Только не забудьте запустить loginctl enable-linger
)
Второй не такой сложный.Сначала вы должны установить uWSGI без плагина Python, а затем установить отдельные плагины для всех необходимых вам версий Python.Подробнее об этом вы можете узнать здесь .Возможно, в вашем системном пакете есть готовые плагины, если вы используете из него uWSGI.