ProstgreSQLで動作するようにDjangoをセットアップして、ここで初心者を完了してください。
Mac OSX 10.6.8を使用しています。 PostgreSQL 9.3もインストールしました
ターミナルでpip install psycopg2
を実行すると、次のエラーが表示されます
Downloading/unpacking psycopg2
Downloading psycopg2-2.5.2.tar.gz (685kB): 685kB downloaded
Running setup.py (path:/private/var/folders/A9/A99cs6x0FNusPejCVkYNTE+++TI/-Tmp-/pip_build_bengorman/psycopg2/setup.py) Egg_info for package psycopg2
Error: pg_config executable not found.
Please add the directory containing pg_config to the PATH
or specify the full executable path with the option:
python setup.py build_ext --pg-config /path/to/pg_config build ...
or with the pg_config option in 'setup.cfg'.
Complete output from command python setup.py Egg_info:
running Egg_info
creating pip-Egg-info/psycopg2.Egg-info
writing pip-Egg-info/psycopg2.Egg-info/PKG-INFO
writing top-level names to pip-Egg-info/psycopg2.Egg-info/top_level.txt
writing dependency_links to pip-Egg-info/psycopg2.Egg-info/dependency_links.txt
writing manifest file 'pip-Egg-info/psycopg2.Egg-info/SOURCES.txt'
warning: manifest_maker: standard file '-c' not found
Error: pg_config executable not found.
Please add the directory containing pg_config to the PATH
or specify the full executable path with the option:
python setup.py build_ext --pg-config /path/to/pg_config build ...
or with the pg_config option in 'setup.cfg'.
これに関する多くの投稿を見てきました
how-to-install-psycopg2-with-pip-on-python
pg-config-executable-not-found
しかし、pg_configを含むbinフォルダーの場所を見つける方法がわかりません。このパスを見つけるためのヒントはありますか?
Postgres.appを使用することをお勧めします。 ( http://postgresapp.com )これにより、MacでPostgresを簡単にオン/オフにできます。実行したら、次を追加して、Postgresへのパスを.profile
ファイルに追加します。
PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"
Postgresをパスに追加した後にのみ、仮想環境内(pipを使用)またはグローバルサイトパッケージにpsycopg2
をインストールできます。
Sudo find / -name "pg_config" -print
答えは私の設定の/Library/PostgreSQL/9.1/bin/pg_configです(MAC Maverick)
Postgres.appは最近更新されました。これで、すべてのバイナリが「バージョン」フォルダーに保存されます
PATH="/Applications/Postgres.app/Contents/Versions/9.4/bin:$PATH"
9.4 – PostgreSQLのバージョン。
Homebrewのインストール
/usr/bin/Ruby -e "$(curl -fsSL https://raw.github.com/Gist/323731)"
そして、postgresqlをインストールする
brew install postgresql
この素敵な出力をくれました:
checking for pg_config... yes
ああああああ
現在のPostgreSQLアプリをMacOS X 10.11にインストールすると、pg_configファイルは/Library/PostgreSQL/9.5/bin/pg_config
になります。
次に、ターミナルで:
$ export PG_HOME=/Library/PostgreSQL/9.5
$ export PATH=$PATH:$PG_HOME/bin
これにより、使用している端末の.profileにパスが配置されます。
ご使用の環境(virtualenv
を使用していると仮定)で、psycopg2をインストールします。
$ pip install psycopg2
以前にダウンロードしたかどうかを確認する必要があります。
Collecting psycopg2
Using cached psycopg2-2.6.1.tar.gz
Installing collected packages: psycopg2
Running setup.py install for psycopg2 ... done
Successfully installed psycopg2-2.6.1
要約すると、PostgreSQLは、バージョン番号とインストール方法に応じて、ファイル(バイナリファイルまたは実行可能ファイルを含む)を異なる場所にインストールします。
可能性のいくつか:
/usr/local/bin/
/Library/PostgreSQL/9.2/bin/
/Applications/Postgres93.app/Contents/MacOS/bin/
/Applications/Postgres.app/Contents/Versions/9.3/bin/
人々が混乱するのも不思議ではありません!
また、$ PATH環境変数に実行可能ファイルを含むディレクトリへのパスが含まれている場合(これを確認するには、コマンドラインでecho $PATH
を使用)、which pg_config
、which psql
を実行できます。など、 ファイルの場所 を見つけます。
私はまったく同じエラーがありましたが、醸造を通じてpostgreSQLをインストールし、元のコマンドを再実行しましたが、完全に機能しました:
postgresqlをインストールする
pg_config
ディレクトリは、その名前の由来を使用して見つけることができます。
$ pg_config --bindir
/usr/lib/postgresql/9.1/bin
$
MacおよびDebianでテスト済み。唯一の欠点は、同じマシンにインストールされた異なるバージョンのpostgresのbindirを見つける方法がわからないことです。しかし、推測するのはかなり簡単です! :-)
注:Debianでpg_configを9.5に更新しました:
Sudo apt-get install postgresql-server-dev-9.5
/Library/PostgreSQL/9.3/binを確認すると、pg_configが見つかるはずです。
I.E. /Library/PostgreSQL/<version_num>/
ps:pgのニーズに必要と思われる場合、以下を行うことができます-
〜ディレクトリに.profileを作成します
export PG_HOME=/Library/PostgreSQL/9.3
export PATH=$PATH:$PG_HOME/bin
ターミナルからpsql
またはpostgres
コマンドを使用し、psycopg2またはその他の依存関係を問題なくインストールできるようになりました。さらに、pg_dirを覗きたいときはいつでもls $PG_HOME/bin
することができます。
私は使用しました:
export PATH=$PATH:/Library/PostgreSQL/9.6/bin
pip install psycopg2
pg_config
のパスを取得する方法です$ which pg_config // prints the directory location
/usr/bin/pg_config
Macでも同じ問題があります。おそらく、
postgresqlをインストールする
その後、実行することができます
pip install psycopg2
醸造はあなたのためにPATHの問題を修正します
この解決策は、少なくとも私には有効です。