uWSGI для запуска Python 2 и Python3 с django

У меня uWSGI установлен глобально, и он отлично работает с virtualenv Python 3.3 с Django. Но теперь я хочу попробовать запустить другой экземпляр uWSGI, используя Python 2.7. Я установил опцию для дома в virtualenv Python 2.7, но версия Python, которую он использует, по-прежнему является версией 3.3.

В настоящее время у меня есть эти настройки для uWSGI:

 # Django-related settings
 # the base directory (full path)
 chdir           = /home/srvadmin/webapps2.7/project
 # Django's wsgi file
 module          = project.wsgi
 # the virtualenv (full path)
 home            = /home/srvadmin/py2.7

 # process-related settings
 # master
 master          = true
 # maximum number of worker processes
 processes       = 10
 # the socket (use the full path to be safe
 socket          = /tmp/mysite2.7.sock
 # ... with appropriate permissions - may be needed
 chmod-socket    = 666
 # clear environment on exit
 vacuum          = true

Но я всегда получаю это

uWSGI http bound on 0.0.0.0:1234 fd 4
spawned uWSGI http 1 (pid: 31507)
uwsgi socket 0 bound to TCP address 127.0.0.1:33896 (port auto-assigned) fd 3
Python version: 3.3.2 (default, May 16 2013, 18:35:00)  [GCC 4.6.3]
Set PythonHome to /home/srvadmin/py2.7/
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'
Aborted

person Zack Kanda    schedule 27.08.2013    source источник


Ответы (1)


Ваш двоичный файл uWSGI связан с определенным libpython (3.3). Вам нужно собрать вторую копию uWSGI для python2.7 или использовать модульную сборку:

(из исходного каталога)

python3 uwsgiconfig.py --сборка без языка

python3 uwsgiconfig.py --plugin plugins/python nolang python33

python2 uwsgiconfig.py --plugin plugins/python nolang python27

вы закончите с двоичным файлом «uwsgi» и «python33_plugin.so» и «python27_plugin.so»

person roberto    schedule 27.08.2013
comment
так что я должен скомпилировать его из исходников? Это не повлияет на общесистемный uwsgi, верно? Спасибо за ответ. :) - person Zack Kanda; 27.08.2013
comment
нет, полученный двоичный файл и плагины будут собраны в исходном каталоге - person roberto; 27.08.2013