environment: Ubuntu 10.04 LTS
build Python 2.7.2 with ./configure --with-zlib --enable-unicode=ucs4
postgresql-9.0
wsgi
Django 1.3
virtualenv
apache
我正在尝试构建Ubuntu Django应用服务器。安装已完成,但没有错误消息。确切的安装方法在ubuntu11.04中是成功的。
但是,当在ubuntu10.04上完成安装并尝试从Django加载psycopg2
时,我得到了以下错误(我在11.04上没有得到这个错误):
我猜有些链接到库是不正确的。。。但我不知道从哪里开始。。。我有以下输出-不确定这是否有助于你帮助我。。。在
$ ldd /home/nreeves/venv/lib/python2.7/site-packages/psycopg2/_psycopg.so
linux-gate.so.1 => (0xb77da000)
libpq.so.5 => /usr/lib/libpq.so.5 (0xb7788000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb776f000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7614000)
libssl.so.0.9.8 => /lib/i686/cmov/libssl.so.0.9.8 (0xb75cc000)
libcrypto.so.0.9.8 => /lib/i686/cmov/libcrypto.so.0.9.8 (0xb747a000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0xb73c9000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0xb73c5000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0xb7395000)
libldap_r-2.4.so.2 => /usr/lib/libldap_r-2.4.so.2 (0xb734e000)
/lib/ld-linux.so.2 (0xb77db000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb734a000)
libz.so.1 => /lib/libz.so.1 (0xb7335000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0xb7311000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0xb7308000)
libkeyutils.so.1 => /lib/libkeyutils.so.1 (0xb7304000)
libresolv.so.2 => /lib/tls/i686/cmov/libresolv.so.2 (0xb72f0000)
liblber-2.4.so.2 => /usr/lib/liblber-2.4.so.2 (0xb72e3000)
libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0xb72cb000)
libgnutls.so.26 => /usr/lib/libgnutls.so.26 (0xb722f000)
libtasn1.so.3 => /usr/lib/libtasn1.so.3 (0xb721e000)
libgcrypt.so.11 => /lib/libgcrypt.so.11 (0xb71ab000)
libgpg-error.so.0 => /lib/libgpg-error.so.0 (0xb71a6000)
以及以下命令输出:
$ ls -l /usr/lib/libpq*
-rw-r--r-- 1 root root 224904 2011-09-26 06:33 /usr/lib/libpq.a
lrwxrwxrwx 1 root root 12 2011-09-26 10:51 /usr/lib/libpq.so -> libpq.so.5.4
lrwxrwxrwx 1 root root 12 2011-09-26 10:51 /usr/lib/libpq.so.5 -> libpq.so.5.4
-rw-r--r-- 1 root root 150976 2011-09-26 06:33 /usr/lib/libpq.so.5.4
在我看来,一切都是正确的。如有任何建议,将不胜感激。在
这个特殊的符号来自
libpython*.*.so.1.0
(用您的python版本替换通配符)。使用nm
列出动态符号时应该会看到:您使用的是自定义版本吗?似乎您的
_psycopg.so
版本与libpython
根本没有关联。在你提到“wsgi”是个标签。如果这意味着您使用的是Apache/mod_wsgi,那么请注意mod_wsgi必须针对相同的Python版本/安装进行编译,并且您需要验证mod_wsgi是否使用相同的方法libpython.so在运行时,因为是mod_wsgi指定了链接到中的Python库。在
[解决]多亏了patrys和Graham Dumpleton,很明显我的定制构建python2.7和wsgi安装是错误的,并且缺少关键的库链接。 现在,按照下面的说明解决了此问题。 感谢所有分享信息的聪明善良的人。在
重新安装Python:https://askubuntu.com/questions/17841/will-python2-7-be-available-for-lucid-in-future
然后卸载WSGI:
sudo apt-get purge libapache2-mod-wsgi
安装WSGI:http://grok.zope.org/documentation/tutorial/installing-and-setting-up-grok-under-mod-wsgi/installing-and-configuring-mod-wsgi
相关问题 更多 >
编程相关推荐