3

virtualenvにpsycopg2をインストールする際に問題が発生しました。

そこで説明されているさまざまなことを試しました:http://www.saltycrane.com/blog/2009/07/using-psycopg2-virtualenv-ubuntu-jaunty/

私が最後に試したのはこれです... libpq-devをインストール
してvirtualenvを作成しました:-p python2.5 --no-site-packages
apt-get install libpq-dev

virtualenvで、私はこれを行いました:easy_install -i http://downloads.egenix.com/python/index/ucs4/ egenix-mx-base

次に、試してみるとpip install psycopg2==2.0.7、次のエラーが発生しました。

Installing collected packages: psycopg2
Running setup.py install for psycopg2
building 'psycopg2._psycopg' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.2.2 (dt dec ext pq3)" -DPG_VERSION_HEX=0x080404 -DPSYCOPG_EXTENSIONS=1 -DPSYCOPG_NEW_BOOLEAN=1 -DHAVE_PQFREEMEM=1 -DHAVE_PQPROTOCOL3=1 -I/usr/include/python2.5 -I. -I/usr/include/postgresql -I/usr/include/postgresql/8.4/server -c psycopg/psycopgmodule.c -o build/temp.linux-i686-2.5/psycopg/psycopgmodule.o -Wdeclaration-after-statement
psycopg/psycopgmodule.c:27:20: error: Python.h: No such file or directory
In file included from psycopg/psycopgmodule.c:31:
./psycopg/python.h:31:26: error: structmember.h: No such file or directory
./psycopg/python.h:34:4: error: #error "psycopg requires Python >= 2.4"
In file included from psycopg/psycopgmodule.c:32:

誰かがそれを解決する方法を知っていますか?
ありがとう。

4

1 に答える 1

6

python-list から:

Diez: python-dev-package をインストールします。これには Python.h ファイルが含まれており、上記のエラー メッセージが明確に示しています。通常、debian/ubuntu パッケージのパッケージの説明で不足しているヘッダー ファイルを検索して、何をインストールすればよいかを確認することをお勧めします。

Pascal: 既にインストールされています。少なくとも Python 2.6 では、Python 2.5 で正しいかどうかもわかりません。python2.5-dev は利用できませんが、 python-old-doctools がそれに取って代わるようです。

Diez: python2.5 では 100%正しくありません。エラーメッセージが示すように、欠落しています。どこかで利用できない場合、2.5 を使用する必要がある場合は、自分で Python をビルドすることを検討する必要があります。

Alex: Ubuntu 10.04 には完全な Python 2.5 がパッケージ化されていません。python2.5-dev がないことからも明らかです。Python 2.6 を使用する必要があるか、絶対に Python 2.5 を使用してソースからビルドする必要がある場合は、Debian パッケージを試すか、ディストリビューションを切り替えてください。python-old-doctools は python-dev に取って代わるものではありません。一部の latex ツールの動作を維持するために問題が発生したようです。

Pascal:最終的に Python 2.6 で virtualenv を作成し、すべてうまくいきました (最新バージョンの psycopg2 を使用)。

于 2010-10-05T13:56:36.713 に答える