735 Stimmen

Wie installiert man psycopg2 mit "pip" unter Python?

Ich benutze virtualenv und ich muss "psycopg2" installieren.

Ich habe Folgendes getan:

pip install http://pypi.python.org/packages/source/p/psycopg2/psycopg2-2.4.tar.gz#md5=24f4368e2cfdc1a2b03282ddda814160

Und ich habe die folgenden Meldungen:

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

Meine Frage: Muss ich das nur tun, damit psycopg2 funktioniert?

python setup.py build_ext --pg-config /path/to/pg_config build ...

3 Stimmen

Hat es funktioniert, als Sie versucht haben python setup.py build_ext --pg-config /path/to/pg_config build ...?

2 Stimmen

Für Python 3.4 oder Python 3.5 müssen Sie das Dev-Paket der entsprechenden Version installieren. sudo apt install libpq-dev python3.4-dev o sudo apt install libpq-dev python3.5-dev

1 Stimmen

psycopg2 entfernen und hinzufügen psycopg2-binary in die Datei mit den Abhängigkeiten und versuchen Sie es erneut.

36voto

André Punkte 1902

Für Python 3 sollten Sie sudo apt-get install libpq-dev python3-dev unter Debian.

28voto

radtek Punkte 30114

So hat es bei mir funktioniert (auf RHEL, CentOS:

sudo yum install postgresql postgresql-devel python-devel

Und nun fügen Sie den Pfad zu Ihrem Postgresql-Binärverzeichnis in die Pip-Installation ein:

sudo PATH=$PATH:/usr/pgsql-9.3/bin/ pip install psycopg2

Stellen Sie sicher, dass Sie den richtigen Pfad angeben. Das ist alles :)

UPDATE: Für Python 3, installieren Sie bitte python3-devel 代わりに python-devel

26voto

Michael Dillon Punkte 31142

Die bisherigen Antworten ähneln zu sehr Zauberrezepten. Der Fehler, den Sie erhalten haben, besagt, dass pip einen benötigten Teil der PostgreSQL Query Bibliothek nicht finden kann. Möglicherweise liegt das daran, dass Sie sie an einem für Ihr Betriebssystem nicht standardmäßigen Ort installiert haben, weshalb die Meldung vorschlägt, die Option --pg-config zu verwenden.

Ein häufiger Grund ist jedoch, dass Sie libpq überhaupt nicht installiert haben. Dies passiert häufig auf Rechnern, auf denen Sie KEINEN PostgreSQL-Server installiert haben, weil Sie nur Client-Anwendungen ausführen wollen, nicht den Server selbst. Jedes OS/Distro ist anders, zum Beispiel müssen Sie unter Debian/Ubuntu libpq-dev installieren. Dies ermöglicht es Ihnen, Code gegen die PostgreSQL Query Bibliothek zu kompilieren und zu linken.

In den meisten Antworten wird auch vorgeschlagen, eine Python-Entwicklungsbibliothek zu installieren. Seien Sie vorsichtig. Wenn Sie nur das von Ihrer Distribution installierte Standard-Python verwenden, wird das funktionieren, aber wenn Sie eine neuere Version haben, könnte das Probleme verursachen. Wenn Sie Python auf diesem Rechner installiert haben, verfügen Sie bereits über die Entwicklungsbibliotheken, die zum Kompilieren von C/C++-Bibliotheken für die Schnittstelle zu Python erforderlich sind. Solange Sie die richtige pip-Version verwenden, die im gleichen bin-Ordner wie die Python-Binärdatei installiert ist, ist alles in Ordnung. Sie brauchen die alte Version nicht zu installieren.

22voto

attomos Punkte 1032

Wenn Sie Mac OS verwenden, sollten Sie PostgreSQL aus dem Quellcode installieren. Nach Abschluss der Installation müssen Sie diesen Pfad mit hinzufügen:

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

oder Sie können den Pfad wie folgt anhängen:

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

in Ihrem .profile Datei oder .zshrc Datei.

Dies kann je nach Betriebssystem variieren.

Sie können den Installationsprozess von http://www.thegeekstuff.com/2009/04/linux-postgresql-install-and-configure-from-source/

19voto

Chance Punkte 177

Führen Sie die folgenden Befehle aus und Sie sollten keine Probleme haben

$ apt-get update
$ apt install python3-dev libpq-dev
$ pip3 install psycopg2

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X