私はvirtualenv
を使用していて、 "psycopg2"をインストールする必要があります。
私は以下をしました:
pip install http://pypi.python.org/packages/source/p/psycopg2/psycopg2-2.4.tar.gz#md5=24f4368e2cfdc1a2b03282ddda814160
そして私は次のようなメッセージを持っています:
Downloading/unpacking http://pypi.python.org/packages/source/p/psycopg2/psycopg2
-2.4.tar.gz#md5=24f4368e2cfdc1a2b03282ddda814160
Downloading psycopg2-2.4.tar.gz (607Kb): 607Kb downloaded
Running setup.py Egg_info for package from http://pypi.python.org/packages/sou
rce/p/psycopg2/psycopg2-2.4.tar.gz#md5=24f4368e2cfdc1a2b03282ddda814160
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'.
----------------------------------------
Command python setup.py Egg_info failed with error code 1
Storing complete log in C:\Documents and Settings\anlopes\Application Data\pip\p
ip.log
私の質問、私はpsycopg2を動かすためにこれをする必要があるだけですか?
python setup.py build_ext --pg-config /path/to/pg_config build ...
私はこの投稿を見つけて、この問題に対するLinuxの解決策を見つけました。
この "goshawk"による投稿 は私に解決策を与えてくれました:Ubuntu/Debianを使っているならSudo apt-get install libpq-dev python-dev
を実行してください。
より多くの人々がこの答えが有用であると思って、そして彼ら自身の解決策を投稿したので、ここにそれらのリストがあります:
Sudo apt install libpq-dev python-dev
Sudo apt install libpq-dev python3-dev
上記のいずれでも問題が解決しない場合は、お試しください
Sudo apt install build-essential
または
Sudo apt install postgresql-server-dev-all
CentOSでは、postgres devパッケージが必要です。
Sudo yum install python-devel postgresql-devel
それが少なくともCentOS 6の解決策でした。
Postgres.appバージョン9.3.2.0 RC2を搭載したMac Mavericksでは、Postgresをインストールした後に次のコードを使用する必要がありました。
Sudo PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin pip install psycopg2
macを使っているのなら自作を使うことができます
brew install postgresql
そして他のすべてのオプションはここにあります: http://www.postgresql.org/download/macosx/
がんばろう
私は最近psycopg2をwindowsマシンに設定しました。最も簡単なインストールは、Windows実行可能バイナリを使用することです。あなたは http://stickpeople.com/projects/python/win-psycopg/ でそれを見つけることができます。
ネイティブのバイナリを仮想環境にインストールするには、easy_installを使います。
C:\virtualenv\Scripts\> activate.bat
(virtualenv) C:\virtualenv\Scripts\> easy_install psycopg2-2.5.win32-py2.7-pg9.2.4-release.exe
Python 3では、DebianではSudo apt-get install libpq-dev python3-dev
を使うべきです。
これが私にとってうまくいったことです(RHELでは、CentOS:
Sudo yum install postgresql postgresql-devel python-devel
そして、pip installでpostgresqlのバイナリディレクトリへのパスを含めます。
Sudo PATH=$PATH:/usr/pgsql-9.3/bin/ pip install psycopg2
必ず正しいパスを含めてください。それで全部です :)
更新:python 3の場合、python3-devel
の代わりにpython-devel
をインストールしてください
Mac OSを使用している場合は、ソースからPostgreSQLをインストールする必要があります。インストールが完了したら、このパスを追加する必要があります。
export PATH=/local/pgsql/bin:$PATH
または、このようにパスを追加することもできます。
export PATH=.../:usr/local/pgsql/bin
.profile
ファイルまたは.zshrc
ファイルにあります。
これはおそらくオペレーティングシステムによって異なります。
今のところ答えは魔法のレシピのようなものです。受け取ったエラーは、pipがPostgreSQLクエリライブラリの必要な部分を見つけられないことを示しています。おそらくこれはあなたがそれをあなたのOSのための標準的でない場所にインストールしているからです - メッセージが--pg-configオプションを使うことを示唆する理由です。
しかし、もっと一般的な理由は、libpqがまったくインストールされていないことです。これは、PostgreSQLサーバがインストールされていないマシン上でよく起こります。サーバ自体ではなく、クライアントアプリケーションのみを実行したいからです。 OS /ディストリビューションはそれぞれ異なります。例えばDebian/Ubuntuではlibpq-devをインストールする必要があります。これにより、PostgreSQLクエリライブラリに対してコードをコンパイルしてリンクすることができます。
答えのほとんどは、Pythonのdevライブラリをインストールすることもお勧めします。注意してください。あなたのディストリビューションによってインストールされたデフォルトのPythonだけを使っているなら、それはうまくいくでしょう、しかしあなたがより新しいバージョンを持っているなら、それは問題を引き起こすかもしれません。このマシン上でPythonを構築したのであれば、C/C++ライブラリーをコンパイルしてPythonとインターフェースをとるために必要な開発ライブラリーがすでにあります。あなたが正しいpipバージョンを使っている限り、それはpythonバイナリと同じbinフォルダにインストールされています。古いバージョンをインストールする必要はありません。
Debian/Ubuntu
上:
最初にpsycopg2
パッケージの依存関係をインストールして構築します。
# apt-get build-dep python-psycopg2
次に、仮想環境でpsycopg2
モジュールをコンパイルしてインストールします。
(env)$ pip install psycopg2
私はこれをWindowsであなたが最初にあなたのベースのpythonインストールに最初にインストールする場所でやりました。
その後、 手動 インストールしたpsycopg2をvirtualenvインストールにコピーします。
それはきれいではありませんが、それは動作します。
必要なパッケージをインストールする以外に、PostgreSQLのbinディレクトリを手動でPATHに追加する必要もありました。$vi ~/.bash_profile
PATH=/usr/pgsql-9.2/bin:$PATH
の前にexport PATH
を追加してください。$source ~/.bash_profile
$pip install psycopg2
Windows XPでは、postgresがインストールされていないとこのエラーが発生します。
PGのダウンロードサイト/にあるRedHat/CentOSリポジトリを使ってPostgresql92をインストールしました http://www.postgresql.org/download/linux/redhat/
Pg_configを取得するには、/ usr/pgsql-9.2/binをPATHに追加する必要がありました。
Fedora 24上:Python 3.xのために
Sudo dnf install postgresql-devel python3-devel
Sudo dnf install redhat-rpm-config
仮想環境を有効にします。
pip install psycopg2
私は何日もこれと闘ってきました、そして最後に "pip install psycopg2"コマンドをWindowsのvirtualenvで実行する方法を見つけました(Cygwinを実行している)。
"pg_config実行可能ファイルが見つかりません"というエラーが表示されました。エラーが、私はすでにWindowsにpostgresをダウンロードしてインストールしました。 Cygwinにもインストールされています。 Cygwinで "which pg_config"を実行すると "/ usr/bin/pg_config"が得られ、 "pg_config"を実行すると正しい出力が得られます。ただし、Cygwinと一緒にインストールされるバージョンは次のとおりです。
VERSION = PostgreSQL 8.2.11
これは現在のバージョンのpsycopg2では動作しません。これは少なくとも9.1を必要とするようです。 Windowsパスに "c:\ Program Files\PostgreSQL\9.2\bin"を追加すると、Cygwin pipインストーラは正しいバージョンのPostgreSQLを見つけることができ、pipを使用してモジュールを正常にインストールすることができました。 (ネイティブバージョンの方がずっと速く動作するので、これはCygwinバージョンのPostgreSQLを使用するよりもおそらく望ましいでしょう)。
OpenSUSE 13.2では、これで修正されました。
Sudo zypper in postgresql-devel
下のリンクからpsycopg2をインストールしなければならないことがほとんどないWindowsユーザーのために、セットアップしたPythonインストールにインストールしてください。それは "psycopg2"という名前のフォルダーをあなたのpythonインストールのsite-packagesフォルダーに置きます。
その後、そのフォルダをあなたのvirtualenvのsite-packagesディレクトリにコピーすれば問題ありません。
psycopg2をインストールするための実行ファイルを見つけることができるリンクです。
Psycopg2はPostgresライブラリに依存します。 Ubuntuの場合
apt-get install libpq-dev
その後:
pip install psycopg2
アーチ base配付:
Sudo pacman -S python-psycopg2
pip2 install psycopg2 # Use pip or pip3 to python3
私はそれをwindowsマシンにインストールして、次のコマンドを通してpython 2.7でAnaconda/Spyderを使うことができました:
!pip install psycopg2
次にデータベースへの接続を確立します。
import psycopg2
conn = psycopg2.connect(dbname='dbname',Host='Host_name',port='port_number', user='user_name', password='password')
Psycopg2をインストールする前に、python-devパッケージをインストールする必要があります。
もしあなたがLinuxで作業しているなら(そしておそらく他のシステムではあるが私は経験から話すことができない)あなたはdevパッケージをインストールするときあなたが実行しているpythonのバージョンに関してかなり正確であることを確かめる必要があるでしょう。
たとえば、私がコマンドを使用したとき:
Sudo apt-get install python3-dev
しようとしたとき、私はまだ同じエラーに遭遇しました
pip install psycopg2
私はpython 3.7を使っているので、コマンドを使う必要がありました。
Sudo apt-get install python3.7-dev
私がこれをしたら、私はこれ以上問題に遭遇しませんでした。明らかにあなたのPythonバージョン3.5の場合、あなたはその7を5に変更するでしょう。
OSX 10.11.6(El Capitan)の場合
brew install postgresql
PATH=$PATH:/Library/PostgreSQL/9.4/bin pip install psycopg2
Ubuntuでは、postgres devパッケージが必要でした。
Sudo apt-get install postgresql-server-dev-all
* virtualenvでテスト済み
MacportsがあるOSXの場合:
Sudo port install postgresql96
export PATH=/opt/local/lib/postgresql96/bin:$PATH
MacOS Mojaveでは、コマンドラインツール10.3の最新のアップデートで動作することを確認してください-それはソフトウェアアップデートで更新されました。Mojaveのコマンドラインツールの以前のバージョンは動作しませんでした。
pipが動作していない場合は、ここから.whlファイルをダウンロードできます https://pypi.python.org/pypi/psycopg2python setup.py install
より抽出
私はこの問題を抱えていましたが、主な理由は2つの同じバージョンがインストールされていたことでした。 1つはpostgres.app、もう1つはHomeBrewによるものです。
APPのみを保持することを選択した場合:
brew unlink postgresql
pip3 install psycopg2