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です。
よろしくお願いします。
Psycopgの 公式インストールガイド を参照してください。
Mac OS Xへのインストール最初のオプションとして、FinkまたはMacPortsのPsycopgのパッケージバージョンの使用を検討してください。
それでもPsycopgをソースからビルドしたい場合は、 these の記事をご覧ください。
共有したいだけです。次のコードは私のために働きました:
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パスを取得しました。
まず、ダウンロード Postgres.app
。
次に、pip install psycopg2
を実行する前に、バイナリをパスに配置します。
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin
[〜#〜]通知[〜#〜]:
9.3
はバージョンを表し、時間の経過とともに異なります。
postgres
とbrew
をインストール:
brew install postgres
次に、virtualenvインストールpsycopg2
このコマンドを使用:
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install psycopg2
私は多くのことを試みましたが、何もうまくいきませんでした。ただし、MojaveでXcode CLIツールを使用していて、psycopg2のインストールに問題がある場合は、次のコマンドを試して、psycopg2を再度インストールしてください。
Sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
これはMojaveの問題として説明されていました: Pillowissue
私の場合、これで問題は解決しました。
回避策は「psycopg2-binary」パッケージをインストールすることです
上記のソリューションをすべて試しましたが、問題を解決したのは、公式のApp StoreからXcode CLIユーティリティを更新することだけです。
次の投稿は私がそれを機能させるのに役立ちました:
https://stackoverflow.com/a/10326004/1361851
Xcode用の「コマンドラインツール」をインストールする必要があり、その後、herokuチュートリアルと同じようにvirtualenvを使用してpipインストールすることができました。
この行に注目:ld:-lpqのライブラリが見つかりません
psycopg2は、ほとんどのサードパーティのpostgresライブラリと同様に、パスに「pg_config」を使用可能にしたいと考えています。私は推測それがあなたの問題です。
コマンドプロンプトで「pg_config」と入力します。見つかりませんでした。そうでない場合は、以下を実行します。
Sudo find/-name pg_config
それがどこにあるかを見つけて、その場所をパスに追加するには、「pg_config」を実行して成功することを確認し、最後にpipを再実行します。
findコマンドは、ルートディレクトリから検索を開始しています。数分かかります。