LINUX.ORG.RU

Заставить mod_wsgi использовать python2 в gentoo

 ,


0

2

Gentoo, apache.

Перехожу с mod_python на mod_wsgi.

user@eeepc_host ~ $ equery u mod_wsgi
!!! No USE flags found for www-apache/mod_wsgi

user@eepc_host ~ $ eix mod_wsgi
[I] www-apache/mod_wsgi
     Available versions:  3.3 3.4
     Installed versions:  3.4(10:31:38 PM 05/10/2014)
     Homepage:            http://code.google.com/p/modwsgi/
     Description:         An Apache2 module for running Python WSGI applications.

Модуль mod_wsgi один, флагов у него нет. После установки оказалось, что он слинкован с python3.

user@eeepc_host ~ $ ldd /usr/lib/apache2/modules/mod_wsgi.so 
	linux-gate.so.1 (0xb770d000)
	libpython3.2.so.1.0 => /usr/lib/libpython3.2.so.1.0 (0xb74f4000)
	libpthread.so.0 => /lib/libpthread.so.0 (0xb74d9000)
	libdl.so.2 => /lib/libdl.so.2 (0xb74d4000)
	libutil.so.1 => /lib/libutil.so.1 (0xb74d0000)
	libm.so.6 => /lib/libm.so.6 (0xb74a4000)
	libc.so.6 => /lib/libc.so.6 (0xb7301000)
	/lib/ld-linux.so.2 (0xb770e000)

Есть возможность заставить его работать с python2?

В системе используется третий питон

user@eeepc_host ~ $ eselect python list
Available Python interpreters:
  [1]   python2.7
  [2]   python3.2 *

p.s. В документации к mod_wsgi есть такой абзац http://code.google.com/p/modwsgi/wiki/InstallationIssues

Multiple Python Versions

Where there are multiple versions of Python installed on a system and it is necessary to ensure that a specific version is used, the '--with-python' option can be supplied to 'configure' when installing mod_wsgi.

./configure --with-python=/usr/local/bin/python2.5

Я правильно понимаю, что нужно писать свой ебилд и собирать уже его?



Последнее исправление: Moonysh (всего исправлений: 4)

Переключись на второй питон еселектом. Будет собираться со вторым тогда.

IMHO иметь 3 питон основным, как у тебя, до сих пор не рекомендуется. Сделай основным второй, а для пакетов, которые умеют второй или третий питон на выбор, можно принудительно определить третий питон юзами.

Jameson ★★★★★
()
Ответ на: комментарий от Jameson

А есть какая-нибудь переменная, чтобы сделать так: VAR="PYTHON2" emerge -v mod_wsgi

Moonysh
() автор топика
Ответ на: комментарий от Jameson

Переключился eselect`ом, собирается со вторым питоном.

И, вообще, как в таких случаях делают правильные мужики, чтобы было полезно для сообщества?Например, добавляют юзфлаг для этого пакета и отправляют патч в мейнстрим?

Moonysh
() автор топика
sudo PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7" emerge -av1 mod_wsgi
du_hast
()
Последнее исправление: du_hast (всего исправлений: 1)

У тебя пиратская гента, а в нормальной есть юзы у этого пакета.
Ставь нормальную и затем:
echo 'www-apache/mod_wsgi python_single_target_python2_7 python_targets_python2_7' >>/etc/portage/package.use
Или как du_hast советовал, но это до -DNu world, после оно сломается.

Lavos ★★★★★
()
Ответ на: комментарий от Lavos

У тебя пиратская гента

Черт, спалили.

Moonysh
() автор топика
Ответ на: комментарий от wakuwaku

И у тебя пиратка.

$ equery u mod_wsgi
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for www-apache/mod_wsgi-3.4-r1:
 U I
 + + python_single_target_python2_7 : Build for Python 2.7 only
 - - python_single_target_python3_2 : Build for Python 3.2 only
 - - python_single_target_python3_3 : Build for Python 3.3 only
 - - python_single_target_python3_4 : Build for Python 3.4 only
 + + python_targets_python2_7       : Build with Python 2.7
 - - python_targets_python3_2       : Build with Python 3.2
 + + python_targets_python3_3       : Build with Python 3.3
 + + python_targets_python3_4       : Build with Python 3.4

Lavos ★★★★★
()
Ответ на: комментарий от Moonysh

И, вообще, как в таких случаях делают правильные мужики, чтобы было полезно для сообщества?Например, добавляют юзфлаг для этого пакета и отправляют патч в мейнстрим?

Сейчас посмотрел, у меня юзфлаги питоновые у этого пакета есть. Мужики делают так - системным питоном оставляют второй, пока мантейнеры не дадут свисток в зенит о стабильности третьего как дефаулт питона для гентоо. Если какой то пакет имеет профит от третьего питона, его включают юз флагами в package.use

Jameson ★★★★★
()
Ответ на: комментарий от Lavos

Есть только версия 1.14 без юзов. о_0

А из иксов нормально показывает… Что это?

Лол, это разные пакеты. Тогда всё в порядке. :3 Не в первый раз путаю их. :/

wakuwaku ★★★★
()
Последнее исправление: wakuwaku (всего исправлений: 3)
Ответ на: комментарий от Jameson
supercomp ~ # eix www-apache/mod_wsgi
* www-apache/mod_wsgi
     Available versions:  3.4 3.4-r1 {PYTHON_SINGLE_TARGET="python2_6 python2_7 python3_2 python3_3 python3_4" PYTHON_TARGETS="python2_6 python2_7 python3_2 python3_3 python3_4"}
     Homepage:            http://code.google.com/p/modwsgi/
     Description:         An Apache2 module for running Python WSGI applications.
Jameson ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.