Hab ein virtualenv mit Python 3.5 und kann in der shell psycopg2 nutzten, bsp.:
Code: Alles auswählen
$ ./manage.py shell
Python 3.5.0 (default, Oct 13 2015, 10:04:33)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> import psycopg2
>>> from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
>>> import django.db.backends.postgresql_psycopg2
>>>
Aber, wenn ich einen Request per fastCGI mache, kommt das:
Code: Alles auswählen
Traceback (most recent call last):
File "~/PyLucid_env/lib/python3.5/site-packages/django/db/backends/postgresql_psycopg2/base.py", line 20, in
import psycopg2 as Database
File "~/PyLucid_env/lib/python3.5/site-packages/psycopg2/__init__.py", line 50, in
from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
ImportError: ~/PyLucid_env/lib/python3.5/site-packages/psycopg2/_psycopg.cpython-35m-x86_64-linux-gnu.so: undefined symbol: lo_truncate64
Und einen stackoverflow Eintrag gibt es ebenfalls: http://stackoverflow.com/questions/3417 ... truncate64
Das sieht für mich ok aus:
Code: Alles auswählen
$ ldd ~/PyLucid_env/lib/python3.5/site-packages/psycopg2/_psycopg.cpython-35m-x86_64-linux-gnu.so | grep libpq
libpq.so.5 => /package/host/localhost/postgresql-9.3/lib/libpq.so.5 (0x00007faa8186b000)
$ ls -la /package/host/localhost/postgresql-9.3/lib/libpq.so
lrwxrwxrwx 1 packagesync packagesync 12 30. Jan 2014 /package/host/localhost/postgresql-9.3/lib/libpq.so -> libpq.so.5.6
Jemand eine Idee?