psycopg2をML、デフォルトのPython 2.7(2.7.2)で動作させようとしています。私はpostgresqlをhomebrew経由でインストールし、psycopg2をpipでインストールしました。Postgresは正常に稼働しており、PGAdmin3は私が作成したデータベースを見ることができます。
しかし、Pythonを実行して試してみると
import psycopg2
私は得る:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Python/2.7/site-packages/psycopg2/__init__.py", line 67, in <module>
from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
ImportError: dlopen(/Library/Python/2.7/site-packages/psycopg2/_psycopg.so, 2): Symbol not found: _PQbackendPID
Referenced from: /Library/Python/2.7/site-packages/psycopg2/_psycopg.so
Expected in: flat namespace
in /Library/Python/2.7/site-packages/psycopg2/_psycopg.so
現在、の出力sudo pip install psycopg2
は正確にクリーンではありません。Clangは一連の警告を出しますが、エラーはありません。
警告:コンパイル中に引数が使用されていません:'-mno-fused-madd'
警告:未使用の関数'Dprintf'警告:暗黙の変換で整数の精度が失われます:'long'から'int'警告:符号なし式の比較<0は常にfalseです
ld:警告:ファイル/usr/local/Cellar/postgresql/9.1.4/lib/libpq.dylibを無視して、ファイルはサポートされていないファイル形式(0xcf 0xfa 0xed 0xfe 0x 7 0x 0 0x 0 0x 1 0x 3 0x 0 0x 0 0x 0 0x 6 0x 0 0x 0 0x 0)これはリンクされているアーキテクチャではありません(i386):/usr/local/Cellar/postgresql/9.1.4/lib/libpq.dylib
その最後のリンカーの警告は私が心配していることです、そして私はそれが古い32対64ビットのPythonの問題であるかどうか疑問に思っています。私は古いものを試しました:
defaults write com.apple.versioner.python Prefer-32-Bit -bool yes
しかし、サイコロはありません。
私の次の考えは次のとおりです。brewにpostgresqlをx86_64としてコンパイルするように強制するか、brewからpythonをインストールします。AppleのPythonがPATHの最初にあることに依存する他のソフトウェア(ため息)があるので、最初の選択肢が欲しいです。
brewを使用してpostgresqlを64ビットとしてコンパイルする方法はありますか?