Невозможно подключить приложение Django к внешней базе данных PostgreSQL - PullRequest
0 голосов
/ 13 мая 2011

Краткое описание
У меня возникает ряд проблем при попытке подключить приложение Django (в настоящее время настроенное как SQLite3) к недавно созданному PostgreSQL на моем Ubuntu Server.

Вопрос (ы)
Кто-нибудь может поделиться своим успехом в этом? Есть ли хорошее пошаговое руководство по этому? Или хотя бы полезные советы о том, как это отладить?

Шаги на данный момент (справочная информация)
1) Я установил PostgreSQL на свой сервер Ubuntu, следуя этому руководству. Обратите внимание, что это привело к нулевым ошибкам.
2) Я настроил мой Django settings.py, как показано ниже

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.postgresql', 
    'NAME': 'mytestdb',                   
    'USER': 'mux_user',                    
    'PASSWORD': 'mux',                  
    'HOST': '192.168.1.111',                      
    'PORT': '',                  
    }
}

3) Ран Джанго 'syncdb'. Это породило следующую ошибку.

django.core.exceptions.ImproperlyConfigured: Ошибка при загрузке модуля psycopg: модуль с именем psycopg не существует

4) Попытка установить psycopg с PIP, easy_install и с помощью setup.py. У всех была одна и та же ошибка: не удалось найти pg_config.

5) Google сказал мне, что мне нужно установить libpq-dev и python-dev, чтобы скомпилировать пакет psycopg. Именно здесь я потерял большую часть уверенности в понимании того, что я делаю. Я понимаю, что эти 2 пакета позволяют мне скомпилировать исходный код Python, но действительно ли это 1039 * необходимо для этого?

Информация о системе
Клиент:
ОС: OS X Snow Leopard-10.6.6
Джанго: Версия 1.2.5
Python: 2,7 (работает virtualenv)

Скоро станет клиентом
ОС: Windows XP / 7
Запуск связанного исполняемого файла среды Python выше

Сервер:
ОС: Ubuntu 10.10 (сервер, без графического интерфейса)
PostgreSQL: 8.4 (вот что загрузило apt-get install)

Обновление
Я нашел в документации , где говорится о необходимости установки psycopg. Полагаю, вопрос переходит от того, действительно ли мне это нужно, к тому, как лучше всего установить psycopg на моих клиентах.

Обновление 5-13-2011: 9:20 AM
Поговорив с коллегой, я думаю, этот ТАК вопрос касается большинства моих проблем

Ответы [ 3 ]

1 голос
/ 13 мая 2011

Я не парень Python, но вам нужны библиотеки PostgreSQL, установленные как интерфейс Python для PostgreSQL (psycopg) - просто слой Python поверх библиотек PostgreSQL C. Таким образом, отсутствие библиотек разработки PostgreSQL означает, что в Python нечего переносить, и нет возможности общаться с PostgreSQL из Python.

0 голосов
/ 18 мая 2011

Проблемы, с которыми я столкнулся, были связаны с использованием 32-битной установки Python (требуется для wxPython 2.8 на Snow Leopard).Пожалуйста, смотрите мой ответ на этот SO Вопрос .

@ mu слишком короткий: Спасибо за помощь.

0 голосов
/ 13 мая 2011

Вы должны поместить свой pg_config в ваш путь, сначала найдите этот файл на вашем компьютере, затем запустите что-то похожее на:

    export PATH=$PATH:/opt/local/lib/postgresql90/bin
    pip install psycopg2

Если на вашем клиентском компьютере не установлена ​​программа postgres, вы сможете установить ее с помощью macports:

    sudo port install postgresql90
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...