Форум сайта python.su
Доброго времени.
Бьюсь уже битые сутки
Установлена CentOS release 6.5 (Final)
Пытаюсь запустить приложение требующее python 2.7 и DJango 1.4.5
# alias python
alias python='/usr/local/bin/python2.7'
# python
Python 2.7.6 (default, May 17 2014, 11:04:59)
on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import django
>>> print django.get_version()
1.4.5
Конфиг Apache
<VirtualHost *:80>
ServerName lnb.site.ru
ServerAdmin admin@mail.ru
DocumentRoot /home/www/wi-fi/
ErrorLog /home/www/wi-fi/error.log
CustomLog /home/www/wi-fi/access.log combined
WSGIScriptAlias / /home/www/wi-fi/django.wsgi
WSGIDaemonProcess user processes=2 maximum-requests=5 threads=2
WSGIProcessGroup user
# ServerSignature On
Alias /static/ “/home/www/wi-fi/static/”
Alias /media/ “/home/www/wi-fi/media/”
</VirtualHost>
При обращении к странице в логах /home/www/wi-fi/error.log
mod_wsgi (pid=30116): Target WSGI script ‘/home/www/wi-fi/django.wsgi’ cannot be loaded as Python module.
mod_wsgi (pid=30116): Exception occurred processing WSGI script ‘/home/www/wi-fi/django.wsgi’.
Traceback (most recent call last):
File “/home/www/wi-fi/django.wsgi”, line 10, in <module>
import django.core.handlers.wsgi
File "/usr/lib/python2.6/site-packages/django/core/handlers/wsgi.py", line 11, in <module>
from django import http
File “/usr/lib/python2.6/site-packages/django/http/__init__.py”, line 2, in <module>
from django.http.request import (HttpRequest, QueryDict,
File “/usr/lib/python2.6/site-packages/django/http/request.py”, line 10, in <module>
from django.conf import settings
File “/usr/lib/python2.6/site-packages/django/conf/__init__.py”, line 9, in <module>
import importlib
ImportError: No module named importlib
Помогите плз…
Афтар модуля включил февраль и говорит что не знает как на Centos
Офлайн
Я попробовал
# source /wi-fi/bin/activate
(wi-fi)# python -V
Python 2.7.6
(wi-fi)# deactivate
# python -V
Python 2.6.6
#
Но Апач не кушает виртуалку
django.wsgi
# -*- coding: utf-8 -*-
import os, sys
activate_this = os.path.join('/wi-fi/bin/activate_this.py')
execfile(activate_this, dict(__file__=activate_this))
Офлайн
There is no importlib module in Python 2.6.x - I believe it was introduced starting with Python version 2.7/3.1.
“/usr/lib/python2.6/”Как вы правильно заметили, у вас почему-то используется питон 2.6, в то время как модуль importlib, который требуется скриптом, появился только в >2.7. Попробуйте напрямую запустить ваш скрипт:
python2.7 script.py
#!/usr/bin/python2.7
Офлайн
Оказалось нужно было скомпилить модуль mod_wsgi указав банарник python
а тот что был в системе снести yum remove mod_wsgi
wget http://modwsgi.googlecode.com/files/mod_wsgi-3.3.tar.gz
tar zxvf mod_wsgi-3.3.tar.gz
cd mod_wsgi-3.3
./configure –with-python=/opt/python2.7/bin/python
make
make install
странно что об этом нигде не упоминали…
Появилась только ошибка в логах при каждом обновлении страницы
tail -F /home/www/wi-fi/error.log
sudo: sorry, you must have a tty to run sudo
sudo: sorry, you must have a tty to run sudo
sudo: sorry, you must have a tty to run sudo
sudo: sorry, you must have a tty to run sudo
Отредактировано maxya (Май 19, 2014 17:02:46)
Офлайн