Плагин uwsgi python3 не работает

я скомпилировал uwsgi с помощью make, и это успешно сделано, и теперь я решил запустить свой сайт django1.5 с python3.3. я проверил документ (http://projects.unbit.it/uwsgi/wiki/Guide4Packagers) и настройте заголовки разработки python3.3 через apt-get, а затем скомпилируйте подключаемый модуль следующим образом:

python3.3 uwsgiconfig.py --plugin plugins/python package python33

затем он говорит:

using profile: buildconf/package.ini
detected include path: ['/usr/lib/gcc/i686-linux-gnu/4.7/include', '/usr/local/include','/usr/lib/gcc/i686-linux-gnu/4.7/include-fixed', '/usr/include/i386-linux-gnu', '/usr/include']
*** uWSGI building and linking plugin plugins/python ***
[i686-linux-gnu-gcc -pthread] /usr/lib/uwsgi/python33_plugin.so
*** python33 plugin built and available in /usr/lib/uwsgi/python33_plugin.so ***

кажется, все сделано хорошо, и я нашел python33_plugin.so в этом каталоге. nginx работает и все в порядке, теперь мой ini-файл uwsgi выглядит так:

[uwsgi]  
socket=0.0.0.0:8000 
listen=20
master=true
pidfile=/usr/local/nginx/uwsgi.pid
processes=2
plugins=python33
module=django_wsgi
pythonpath=
profiler=true
memory-report=true
enable-threads=true
logdate=true
limit-as=6048

и когда я запускаю "sudo ./uwsgi uwsgi.ini",

[uWSGI] getting INI configuration from uwsgi.ini
open("./python33_plugin.so"): No such file or directory [core/utils.c line 3347]
!!! UNABLE to load uWSGI plugin: ./python33_plugin.so: cannot open shared object file: No such file or directory !!!

он не находит файл .so. В любом случае, я копирую файл .so в каталог uwsgi и запускаю снова,

[uWSGI] getting INI configuration from uwsgi.ini
Sun Apr 28 22:54:40 2013 - *** Starting uWSGI 1.9.8 (32bit) on [Sun Apr 28 22:54:40 2013] ***
Sun Apr 28 22:54:40 2013 - compiled with version: 4.7.3 on 28 April 2013 21:25:27
Sun Apr 28 22:54:40 2013 - os: Linux-3.8.0-19-generic #29-Ubuntu SMP Wed Apr 17 18:19:42 UTC 2013
Sun Apr 28 22:54:40 2013 - nodename: bill-Rev-1-0
Sun Apr 28 22:54:40 2013 - machine: i686
Sun Apr 28 22:54:40 2013 - clock source: unix
Sun Apr 28 22:54:40 2013 - pcre jit disabled
Sun Apr 28 22:54:40 2013 - detected number of CPU cores: 4
Sun Apr 28 22:54:40 2013 - current working directory: /media/bill/cloud/cloud/program/kkblog/kkblog
Sun Apr 28 22:54:40 2013 - writing pidfile to /usr/local/nginx/uwsgi.pid
Sun Apr 28 22:54:40 2013 - detected binary path: /usr/sbin/uwsgi
Sun Apr 28 22:54:40 2013 - uWSGI running as root, you can use --uid/--gid/--chroot options
Sun Apr 28 22:54:40 2013 - *** WARNING: you are running uWSGI as root !!! (use the --uid flag) *** 
Sun Apr 28 22:54:40 2013 - your processes number limit is 31552
Sun Apr 28 22:54:40 2013 - limiting address space of processes...
Sun Apr 28 22:54:40 2013 - your process address space limit is 2046820352 bytes (1952 MB)
Sun Apr 28 22:54:40 2013 - your memory page size is 4096 bytes
Sun Apr 28 22:54:40 2013 - detected max file descriptor number: 1024
Sun Apr 28 22:54:40 2013 - lock engine: pthread robust mutexes
Sun Apr 28 22:54:40 2013 - uwsgi socket 0 bound to TCP address 0.0.0.0:8000 fd 3
Sun Apr 28 22:54:40 2013 - Python version: 2.7.4 (default, Apr 19 2013, 18:35:44)  [GCC 4.7.3]
Sun Apr 28 22:54:40 2013 - Python main interpreter initialized at 0x973e2d0
Sun Apr 28 22:54:40 2013 - python threads support enabled

я использую ubuntu 13.04 и предустановлены python2.7 и python3.3.

Я УСТАНОВИЛ ПЛАГИН PYTHON33, НО UWSGI ВСЕ ЕЩЕ ЗАПУСКАЕТ PYTHON2.7, почему?

кто нибудь встречал эту проблему? и, кстати, я не люблю настраивать uwsgi и плагины через apt-get, потому что это не будет работать ни на одном PaaS.

Спасибо!


person Bill Phun    schedule 28.04.2013    source источник


Ответы (1)


Вы создали монолитный двоичный файл uWSGI со встроенным Python 2.7, поэтому плагин не может перезаписать эту область памяти. Вы можете создать простой монолитный двоичный файл python3, используя:

python3 uwsgiconfig.py --build

или используя pip для python3

В противном случае вы можете построить полностью модульную систему с:

python uwsgiconfig.py --build core
python uwsgiconfig.py --plugin plugins/python core python27
python3 uwsgiconfig.py --plugin plugins/python core python33
person roberto    schedule 29.04.2013
comment
Привет @Roberto. Где я могу найти uwsgiconfig.py? Спасибо за помощь. - person aldesabido; 04.09.2018
comment
@aldesabido Сейчас это работает немного по-другому. См. официальные документы. - person yofee; 09.03.2019
comment
Теперь из того же каталога мы начинаем создавать плагины Python: что такое uwsgi? можешь подробно рассказать? --build-plugin PYTHON=python3.4 ./uwsgi --build-plugin plugins/python python34 PYTHON=python2.7 ./uwsgi --build-plugin plugins/python python27 PYTHON=python2.6 ./uwsgi --build -plugin плагины/python python26 - person tktktk0711; 02.07.2019