Найти - Пользователи
Полная версия: Не находится psycopg2 при запуске в Apache
Начало » Django » Не находится psycopg2 при запуске в Apache
1
Andrejus
Доброго времени суток.

Установил на Apache mod-wsgi (в.2.2), в settings.py прописал базу PostgreSQL:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'taskdb', # Or path to database file if using sqlite3.
'USER': 'task_space', # Not used with sqlite3.
'PASSWORD': 'test', # Not used with sqlite3.
'HOST': 'localhost', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
}
Проверил на сервере разработчика - коннектится и работает.
Проверил на apache - он пишет:

[Wed Apr 13 13:35:18 2011] [error] [client 127.0.0.1]   File "C:\\Python27\\Lib\\site-packages\\django\\db\\backends\\postgresql_psycopg2\\base.py", line 24, in <module>
[Wed Apr 13 13:35:18 2011] [error] [client 127.0.0.1] raise ImproperlyConfigured("Error loading psycopg2 module: %s" % e)
[Wed Apr 13 13:35:18 2011] [error] [client 127.0.0.1] ImproperlyConfigured: Error loading psycopg2 module: DLL load failed: \xcd\xe5 \xed\xe0\xe9\xe4\xe5\xed \xf3\xea\xe0\xe7\xe0\xed\xed\xfb\xe9 \xec\xee\xe4\xf3\xeb\xfc.
т.е. говоря по-русски “Не найден указанный модуль.”

Не пойму, куды копать.
Александр Кошелев
psycopg2 у вас установлен и работает?
Andrejus
Александр Кошелев
psycopg2 у вас установлен и работает?
Работает, когда запускаю через manage.py runserver. Без ошибок.
Loggos
Andrejus
Доброго времени суток.

Установил на Apache mod-wsgi (в.2.2), в settings.py прописал базу PostgreSQL:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'taskdb', # Or path to database file if using sqlite3.
'USER': 'task_space', # Not used with sqlite3.
'PASSWORD': 'test', # Not used with sqlite3.
'HOST': 'localhost', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
}
Пропишите в ‘PORT’: ‘5432’ - это по умолчанию.

У меня была подобного типа проблема. Я установил еще и сам PostgreSQL. После этого создал базу через PostgreSQL, вписал её название в ‘NAME’, ну и про пароль не забыл.
Проблема решилась.

Попробуйте, может и у вас все заработает.
Andrejus
Loggos
Неа. Номер порта не помогает. тут что-то с WSGI на Apache.
С cx_Oracle ровно та же фигня. На девелоперовском сервере работает на ура, и в cgi есть коннект, а на апаче - ошибки.
Может оттого, что апач запущен на windows …
Andrejus
Ура, дамы и господа.
Гуглинг текста ошибки предпоследней конфигурации, а именно “django.db.backends.postgresql_psycopg2' isn't an available database backend”, вывел мну на решение для windows 7:

python 2.7.1 + django 1.2.5 + psycopg2-2.4.win32-py2.7-pg9.0.3-release.exe + mod_wsgi-win32-ap22py27-3.3.so - РАБОТАЕТ!

Причина ошибки - psycopg2-2.3.1.win32-py2.7-pg9.0.1-release.exe не работает с WSGI под Windows 7 из-за каких-то непонятных мне косяков сборки.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB