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 シェルでライブラリをインポートしようとすると、エラーが発生しました:

>>> 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*

ただし、Python アプリのパッケージを格納する virtualenv をセットアップすることをお勧めします。

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 に答える