web-dev-qa-db-ja.com

Pythonに "pip"を付けてpsycopg2をインストールするにはどうすればいいですか?

私は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 ...
461
André

私はこの投稿を見つけて、この問題に対するLinuxの解決策を見つけました。

この "goshawk"による投稿 は私に解決策を与えてくれました:Ubuntu/Debianを使っているならSudo apt-get install libpq-dev python-devを実行してください。

更新

より多くの人々がこの答えが有用であると思って、そして彼ら自身の解決策を投稿したので、ここにそれらのリストがあります:

Debian/Ubuntu

Python 2

Sudo apt install libpq-dev python-dev

Python 3

Sudo apt install libpq-dev python3-dev

追加の

上記のいずれでも問題が解決しない場合は、お試しください

Sudo apt install build-essential

または

Sudo apt install postgresql-server-dev-all
689
joar

CentOSでは、postgres devパッケージが必要です。

Sudo yum install python-devel postgresql-devel

それが少なくともCentOS 6の解決策でした。

114
Banjer

Postgres.appバージョン9.3.2.0 RC2を搭載したMac Mavericksでは、Postgresをインストールした後に次のコードを使用する必要がありました。

Sudo PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin pip install psycopg2

80
metasequoia

macを使っているのなら自作を使うことができます

brew install postgresql

そして他のすべてのオプションはここにあります: http://www.postgresql.org/download/macosx/

がんばろう

70
nichochar

私は最近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
61

Python 3では、DebianではSudo apt-get install libpq-dev python3-devを使うべきです。

27
André

これが私にとってうまくいったことです(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をインストールしてください

26
radtek

Mac OSを使用している場合は、ソースからPostgreSQLをインストールする必要があります。インストールが完了したら、このパスを追加する必要があります。

export PATH=/local/pgsql/bin:$PATH

または、このようにパスを追加することもできます。

export PATH=.../:usr/local/pgsql/bin

.profileファイルまたは.zshrcファイルにあります。

これはおそらくオペレーティングシステムによって異なります。

あなたは http://www.thegeekstuff.com/2009/04/linux-postgresql-install-and-configure-from-source/からインストールプロセスをたどることができます /

21
attomos

今のところ答えは魔法のレシピのようなものです。受け取ったエラーは、pipがPostgreSQLクエリライブラリの必要な部分を見つけられないことを示しています。おそらくこれはあなたがそれをあなたのOSのための標準的でない場所にインストールしているからです - メッセージが--pg-configオプションを使うことを示唆する理由です。

しかし、もっと一般的な理由は、libpqがまったくインストールされていないことです。これは、PostgreSQLサーバがインストールされていないマシン上でよく起こります。サーバ自体ではなく、クライアントアプリケーションのみを実行したいからです。 OS /ディストリビューションはそれぞれ異なります。例えばDebian/Ubuntuではlibpq-devをインストールする必要があります。これにより、PostgreSQLクエリライブラリに対してコードをコンパイルしてリンクすることができます。

答えのほとんどは、Pythonのdevライブラリをインストールすることもお勧めします。注意してください。あなたのディストリビューションによってインストールされたデフォルトのPythonだけを使っているなら、それはうまくいくでしょう、しかしあなたがより新しいバージョンを持っているなら、それは問題を引き起こすかもしれません。このマシン上でPythonを構築したのであれば、C/C++ライブラリーをコンパイルしてPythonとインターフェースをとるために必要な開発ライブラリーがすでにあります。あなたが正しいpipバージョンを使っている限り、それはpythonバイナリと同じbinフォルダにインストールされています。古いバージョンをインストールする必要はありません。

16
Michael Dillon

Debian/Ubuntu上:

最初にpsycopg2パッケージの依存関係をインストールして構築します。

# apt-get build-dep python-psycopg2

次に、仮想環境でpsycopg2モジュールをコンパイルしてインストールします。

(env)$ pip install psycopg2
13
Omid Raha

私はこれをWindowsであなたが最初にあなたのベースのpythonインストールに最初にインストールする場所でやりました。

その後、 手動 インストールしたpsycopg2をvirtualenvインストールにコピーします。

それはきれいではありませんが、それは動作します。

6
monkut

必要なパッケージをインストールする以外に、PostgreSQLのbinディレクトリを手動でPATHに追加する必要もありました。
$vi ~/.bash_profile
PATH=/usr/pgsql-9.2/bin:$PATHの前にexport PATHを追加してください。
$source ~/.bash_profile
$pip install psycopg2

5
xtranophilist

Windows XPでは、postgresがインストールされていないとこのエラーが発生します。

3
Sam Joseph

PGのダウンロードサイト/にあるRedHat/CentOSリポジトリを使ってPostgresql92をインストールしました http://www.postgresql.org/download/linux/redhat/

Pg_configを取得するには、/ usr/pgsql-9.2/binをPATHに追加する必要がありました。

3
jdborg

Fedora 24上:Python 3.xのために

Sudo dnf install postgresql-devel python3-devel

Sudo dnf install redhat-rpm-config

仮想環境を有効にします。

pip install psycopg2
2

私は何日もこれと闘ってきました、そして最後に "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を使用するよりもおそらく望ましいでしょう)。

2
Symmetric

OpenSUSE 13.2では、これで修正されました。

Sudo zypper in postgresql-devel 
1
Elliott

下のリンクからpsycopg2をインストールしなければならないことがほとんどないWindowsユーザーのために、セットアップしたPythonインストールにインストールしてください。それは "psycopg2"という名前のフォルダーをあなたのpythonインストールのsite-packagesフォルダーに置きます。

その後、そのフォルダをあなたのvirtualenvのsite-packagesディレクトリにコピーすれば問題ありません。

psycopg2をインストールするための実行ファイルを見つけることができるリンクです。

http://www.lfd.uci.edu/~gohlke/pythonlibs/ /

1
Chris Hawkes

Psycopg2はPostgresライブラリに依存します。 Ubuntuの場合

apt-get install libpq-dev

その後:

pip install psycopg2
1
Manish Gupta

アーチ base配付:

Sudo pacman -S python-psycopg2
pip2 install psycopg2  # Use pip or pip3 to python3
1
iraj jelodari

私はそれを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')
1
Cristian Muñoz

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
0
iNoob

Ubuntuでは、postgres devパッケージが必要でした。

Sudo apt-get install postgresql-server-dev-all

* virtualenvでテスト済み

0
marcanuy

MacportsがあるOSXの場合:

Sudo port install postgresql96
export PATH=/opt/local/lib/postgresql96/bin:$PATH
0
Palimpseste

MacOS Mojaveでは、コマンドラインツール10.3の最新のアップデートで動作することを確認してください-それはソフトウェアアップデートで更新されました。Mojaveのコマンドラインツールの以前のバージョンは動作しませんでした。

0
Radek

pipが動作していない場合は、ここから.whlファイルをダウンロードできます https://pypi.python.org/pypi/psycopg2python setup.py installより抽出

0
Umer

私はこの問題を抱えていましたが、主な理由は2つの同じバージョンがインストールされていたことでした。 1つはpostgres.app、もう1つはHomeBrewによるものです。

APPのみを保持することを選択した場合:

brew unlink postgresql
pip3 install psycopg2
0
Luís De Marchi