Django в PostgreSQL: ошибка загрузки psycopg2 - PullRequest
1 голос
/ 10 февраля 2012

Пытаясь runserver с db['ENGINE'] = 'django.db.backends.psycopg2' Я получил:

[...]
File "/usr/local/lib/python2.6/dist-packages/django/db/backends/psycopg2/__init__.py", line 67, in <module>
from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
File "/usr/local/lib/python2.6/dist-packages/psycopg2-2.4.4-py2.6-linux-x86_64.egg/psycopg2/__init__.py", line 67, in <module>
from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
ImportError: /usr/local/lib/python2.6/dist-packages/psycopg2-2.4.4-py2.6-linux-x86_64.egg/psycopg2/_psycopg.so: undefined symbol: Py_InitModule4_64

с 'ENGINE': 'django.db.backends.postgresql_psycopg2' Я получил:

[...]
File "/usr/local/lib/python2.6/dist-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/usr/local/lib/python2.6/dist-packages/django/db/backends/postgresql_psycopg2/base.py", line 24, in <module>
raise ImproperlyConfigured("Error loading psycopg2 module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: /usr/local/lib/python2.6/dist-packages/psycopg2-2.4.4-py2.6-linux-x86_64.egg/psycopg2/_psycopg.so: undefined symbol: Py_InitModule4_64

И я не должен использовать psycopg с Python>2.6, верно?

Любая помощь о том, как сделать эту работу?

Ответы [ 2 ]

2 голосов
/ 10 июля 2014

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

sudo apt-get install python-virtualenv  # if you don't have it yet 
virtualenv /some/dir/

Активируйте virtualenv

source /some/dir/bin/activate

Подготовьте django и psycopg2 и любые другие используемые вами библиотеки

pip install psycopg2 django # possibly other libraries

И затем перейдите в свой проектдиректории (это с manage.py), убедитесь, что проект находится в PYTHONPATH, и попробуйте ./manage.py runserver снова.

1 голос
/ 10 февраля 2012

Ваша установка не работает. Может быть, вы используете 32-битный Python, но библиотека для 64-битных.

Я запускаю psycopg2 с Python2.7 без проблем.

...