this site からpsycopg2(PostgreSQLデータベースアダプター)をインストールしようとしましたが、パッケージにcdして書き込みを行った後にインストールしようとすると
python setup.py install
次のエラーが発生します。
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'.
「Sudo pip install psycopg2」も試しましたが、同じメッセージが表示されました。
docs を読んだ後、setup.cfgファイル(以下)を確認するように求められます。
[build_ext]
define=
# PSYCOPG_DISPLAY_SIZE enable display size calculation (a little slower)
# HAVE_PQFREEMEM should be defined on PostgreSQL >= 7.4
# PSYCOPG_DEBUG can be added to enable verbose debug information
# "pg_config" is required to locate PostgreSQL headers and libraries needed to
# build psycopg2. If pg_config is not in the path or is installed under a
# different name uncomment the following option and set it to the pg_config
# full path.
#pg_config=
# Set to 1 to use Python datetime objects for default date/time representation.
use_pydatetime=1
# If the build system does not find the mx.DateTime headers, try
# uncommenting the following line and setting its value to the right path.
#mx_include_dir=
# For Windows only:
# Set to 1 if the PostgreSQL library was built with OpenSSL.
# Required to link in OpenSSL libraries and dependencies.
have_ssl=0
# Statically link against the postgresql client library.
#static_libpq=1
# Add here eventual extra libraries required to link the module.
#libraries=
ただし、ドキュメントには次のように記載されているため、このファイルを編集するかどうかはわかりません。
then take a look at the setup.cfg file.
Some of the options available in setup.cfg are also available as command line arguments of the build_ext sub-command. For instance you can specify an alternate pg_config version using:
$ python setup.py build_ext --pg-config /path/to/pg_config build
Use python setup.py build_ext --help to get a list of the options supported.
サポートされているオプションのリストを入手しましたが、そこからどこに行くべきかわかりません
Ubuntuを使用している場合は、
Sudo apt-get install python-psycopg2
そうでない場合は、ディストリビューション用のPostgresqlクライアントパッケージを見つけてインストールする必要があります。 ソースからのpsycopg2インストール
Debian/Ubuntu
Python 2
Sudo apt install libpq-dev python-dev
Python
Sudo apt install libpq-dev python3-dev
追加
If none of the above solve your issue, try
Sudo apt install build-essential
or
Sudo apt install postgresql-server-dev-all
コンパイルせずにインストールする必要がある場合:
pip install psycopg2-binary
まだマシンにPostgreSQLをインストールしていないため、この問題が発生していました。 Macでは単純なbrew install postgresql
問題を修正しました。
私にとってpipのアップグレードはうまくいきました:pip install --upgrade pip
私のようなソースからpostgres
とpsycopg2
をビルドする人のために、別の解決策がここにあります:
Sudo su
export PATH=/usr/local/pgsql/bin:$PATH #or path to your pg_config
Psycopg2のsetup.pyがpg_configを正しく検出できるようになりました。
python3 setup.py install
または、pip3
だけを使用したい場合は、pip3 install psycopg2
も機能するはずです。