web-dev-qa-db-ja.com

Mac OS X 10.7のvirtualenvでpipを使用してpsycopg2をインストールできません

Django app: http://devcenter.heroku.com/articles/Django#prerequisites をデプロイするためにHerokuのチュートリアルに従っています。

この部分に到達するまで、すべてが正常に機能しています。

$ pip install Django psycopg2

Djangoを単独でインストールできますが、probelmはpsycopg2を使用しています。

私はこのエラーを受け取り続けます:

ld: library not found for -lpq

collect2: ld returned 1 exit status

ld: library not found for -lpq

collect2: ld returned 1 exit status

lipo: can't open input file: /var/folders/_4/p6l0y0t51hd4xbq7llbyshmw0000gn/T//cc0L10mI.out (No such file or directory)

error: command 'gcc-4.2' failed with exit status 1

自分のマシンにPostgreSQL 9.1をインストールしました。

また、出力には次のような行がたくさんあります。

gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -isysroot /Developer/SDKs/MacOSX10.6.sdk -Arch i386 -Arch x86_64 -g -O2 -DNDEBUG -g -O3 -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.4.4 (dt dec pq3 ext)" -DPG_VERSION_HEX=0x090004 -DPSYCOPG_EXTENSIONS=1 -DPSYCOPG_NEW_BOOLEAN=1 -DHAVE_PQFREEMEM=1 -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I. -I/usr/include -I/usr/include/postgresql/server -c psycopg/typecast.c -o build/temp.macosx-10.6-intel-2.7/psycopg/typecast.o

それが何を意味するのか本当にわかりませんが、「macosx-10.6」が含まれていることに気付いたので、それが問題になるのではないかと思っています。 10.7です。

よろしくお願いします。

31
WarAndPiece

Psycopgの 公式インストールガイド を参照してください。

Mac OS Xへのインストール最初のオプションとして、FinkまたはMacPortsのPsycopgのパッケージバージョンの使用を検討してください。

それでもPsycopgをソースからビルドしたい場合は、 these の記事をご覧ください。

6
Felix Yan

共有したいだけです。次のコードは私のために働きました:

env LDFLAGS='-L/usr/local/lib -L/usr/local/opt/openssl/lib
-L/usr/local/opt/readline/lib' pip install psycopg2==2.5.2

MacOS Sierraとpsql 9.6.1を使用しています。

pg_configコマンドからlibパスを取得しました。

76
chuan

まず、ダウンロード Postgres.app

次に、pip install psycopg2を実行する前に、バイナリをパスに配置します。

export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin

[〜#〜]通知[〜#〜]

9.3はバージョンを表し、時間の経過とともに異なります。

25
andilabs

postgresbrewをインストール:

brew install postgres

次に、virtualenvインストールpsycopg2このコマンドを使用:

ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install psycopg2
6
Hernan Ramirez

私は多くのことを試みましたが、何もうまくいきませんでした。ただし、MojaveでXcode CLIツールを使用していて、psycopg2のインストールに問題がある場合は、次のコマンドを試して、psycopg2を再度インストールしてください。

Sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

これはMojaveの問題として説明されていました: Pillowissue

私の場合、これで問題は解決しました。

1

回避策は「psycopg2-binary」パッケージをインストールすることです

1
Alex Yavorskiy

上記のソリューションをすべて試しましたが、問題を解決したのは、公式のApp StoreからXcode CLIユーティリティを更新することだけです。

0
henrycjc

次の投稿は私がそれを機能させるのに役立ちました:

https://stackoverflow.com/a/10326004/1361851

Xcode用の「コマンドラインツール」をインストールする必要があり、その後、herokuチュートリアルと同じようにvirtualenvを使用してpipインストールすることができました。

0
emispowder

この行に注目:ld:-lpqのライブラリが見つかりません

psycopg2は、ほとんどのサードパーティのpostgresライブラリと同様に、パスに「pg_config」を使用可能にしたいと考えています。私は推測それがあなたの問題です。

コマンドプロンプトで「pg_config」と入力します。見つかりませんでした。そうでない場合は、以下を実行します。

Sudo find/-name pg_config

それがどこにあるかを見つけて、その場所をパスに追加するには、「pg_config」を実行して成功することを確認し、最後にpipを再実行します。

findコマンドは、ルートディレクトリから検索を開始しています。数分かかります

0
sethcall