Уважаемые гости и пользователи форума!
Чтобы видеть ссылки на форуме - надо зарегистрироваться и иметь 1 пост на форуме. Для этого есть КУРИЛКА и там тема Здрасти.

[How To] Исправляем ошибку python_init: Python executable found '/usr/bin/python'

В этом Вы найдёте самые разнообразные пошаговые инструкции по установке и обслуживанию системы.

Модераторы: rewuxiin, kulia

Правила форума
Условием использования нашего форума, является соблюдение настоящих Правил форума.

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам, а вы рискуете получить предупреждение.
Аватара пользователя
SinglWolf
Контактная информация:
Откуда: Башкирия
Сообщения: 2618
Зарегистрирован: 23 янв 2012, 22:11

[How To] Исправляем ошибку python_init: Python executable found '/usr/bin/python'

30 окт 2013, 11:02

Исправляем ошибку python_init: Python executable found '/usr/bin/python'
После очередного обновления ОС сервера в логах Apache появилось следующее(содержание примерное):

Код: Выделить всё

[.....]
[Mon Oct 07 23:21:01 2013] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Mon Oct 07 23:21:01 2013] [error] python_init: Python version mismatch, expected '2.7.2+', found '2.7.3'.
[Mon Oct 07 23:21:01 2013] [error] python_init: Python executable found '/usr/bin/python'.
[Mon Oct 07 23:21:01 2013] [error] python_init: Python path being used '/usr/lib/python2.7/:/usr/lib/python2.7/plat-linux2:/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/lib-old:/usr/lib/python2.7/lib-dynload'.
[Mon Oct 07 23:21:01 2013] [notice] mod_python: Creating 8 session mutexes based on 150 max processes and 0 max threads.
[.....]
Причина ошибки в заключается в том, что модуль libapache2-mod-python скомпилирован для Python 2.7.2+, а у нас текущая версия 2.7.3. Не было печали... Чтож, надо исправлять.

Удаляем злосчастный пакет:

Код: Выделить всё

apt-get remove libapache2-mod-python
Получим все нужные пакеты для компиляции libapache2-mod-python:

Код: Выделить всё

apt-get build-dep libapache2-mod-python
Скачаем исходники во временную папку:

Код: Выделить всё

mkdir /tmp/python 
cd /tmp/python 
apt-get source libapache2-mod-python
Посмотрим имя каталога с исходным кодом: Переходим туда (У меня так):

Код: Выделить всё

cd libapache2-mod-python-3.3.1/
И собираем пакет:

Код: Выделить всё

dpkg-buildpackage -rfakeroot -b
Смотрим что получилось и устанавливаем собранные пакеты:

Код: Выделить всё

cd ..
ls -l
dpkg -i libapache2-mod-python_3.3.1-9_amd64.deb
dpkg -i libapache2-mod-python-doc_3.3.1-9_all.deb
Перезапускаем Apache2

Код: Выделить всё

service apache2 restart
Смотрим логи Apache2. Ошибки быть не должно!

И чтобы наши пересобранные пакеты не сгинули в лету после очередного обновления системы, сделаем следующее:

Код: Выделить всё

echo "libapache2-mod-python hold" | dpkg --set-selections
echo "libapache2-mod-python-doc hold" | dpkg --set-selections
Проверим:

Код: Выделить всё

dpkg --get-selections | grep libapache2-mod-python
Должно быть так:

Код: Выделить всё

libapache2-mod-python                           hold
libapache2-mod-python-doc                       hold
Вроде всё. Удачи! *DRINK*

Вернуться в «Инструкции и учебники»