1

我正在尝试安装 postgresql_python。我下载了 tarball 并使用以下命令安装它: python setup.py build python setup.py install

我得到了/usr/lib64/python2.4/site-packages/psycopg2/

> total 836
> -rw-r--r-- 1 root root  12759 Dec 11 18:18 errorcodes.py
> -rw-r--r-- 1 root root  14584 Dec 12 13:49 errorcodes.pyc
> -rw-r--r-- 1 root root  14584 Dec 12 13:49 errorcodes.pyo
> -rw-r--r-- 1 root root   5807 Dec 11 18:18 extensions.py
> -rw-r--r-- 1 root root   7298 Dec 12 13:49 extensions.pyc
> -rw-r--r-- 1 root root   7298 Dec 12 13:49 extensions.pyo
> -rw-r--r-- 1 root root  31495 Dec 11 18:18 extras.py
> -rw-r--r-- 1 root root  35124 Dec 12 13:49 extras.pyc
> -rw-r--r-- 1 root root  35124 Dec 12 13:49 extras.pyo
> -rw-r--r-- 1 root root   6177 Dec 11 18:18 __init__.py
> -rw-r--r-- 1 root root   5740 Dec 12 13:49 __init__.pyc
> -rw-r--r-- 1 root root   5740 Dec 12 13:49 __init__.pyo
> -rw-r--r-- 1 root root   8855 Dec 11 18:18 pool.py
> -rw-r--r-- 1 root root   8343 Dec 12 13:49 pool.pyc
> -rw-r--r-- 1 root root   8343 Dec 12 13:49 pool.pyo
> -rw-r--r-- 1 root root   3389 Dec 21 11:17 psycopg1.py
> -rw-r--r-- 1 root root   3182 Dec 21 11:22 psycopg1.pyc
> -rw-r--r-- 1 root root   3167 Dec 12 13:49 psycopg1.pyo
> -rwxr-xr-x 1 root root 572648 Dec 21 11:22 _psycopg.so drwxr-xr-x 2 root root   4096 Dec 21 10:38 tests
> -rw-r--r-- 1 root root   4427 Dec 11 18:18 tz.py
> -rw-r--r-- 1 root root   4325 Dec 12 13:49 tz.pyc
> -rw-r--r-- 1 root root   4325 Dec 12 13:49 tz.pyo

但是在 python shell 中,当我尝试导入库时,出现错误:

>>> import psycopg2
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/usr/lib64/python2.4/site-packages/psycopg2/__init__.py", line 76, in ?
    from psycopg2._psycopg import _connect, apilevel, threadsafety, paramstyle
ImportError: cannot import name _connect

我正在使用 Postgresql 9.2 运行。

我在这里想念什么?请告诉我。

谢谢。

4

1 回答 1

1

您很可能必须在根目录中删除一些与 psycopg2 相关的现有软件包。一些常见的位置:

rm -r /usr/lib/python2.4/site-packages/psycopg2*
rm -r /usr/local/lib/python2.6/dist-packages/psycopg2*

但是,我建议设置一个 virtualenv 来容纳 Python 应用程序的包。

查看virtualenv。安装后很容易使用:

virtualenv myapp
. myapp/bin/activate
cd ~/your/postgres_lib/download
python setup.py install

这会将 postgres 库安装到您的 virtualenv(位于myapp)文件夹中。然后,每当您想运行您的应用程序时,您只需要通过以下方式激活环境

. myapp/bin/activate

必要时调整路径myapp。有一些帮助程序,比如virtualenvwrapper来简化这个过程。

于 2012-12-21T16:39:01.103 回答