it-swarm.com.de

Wie installiere ich psycopg2 mit "pip" auf Python?

Ich benutze virtualenv und muss "psycopg2" installieren.

Ich habe folgendes gemacht:

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

Und ich habe die folgenden Nachrichten:

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, ich muss dies nur tun, um das psycopg2 zum Laufen zu bringen?

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

Ich fand diesen Beitrag auf der Suche nach einer Linux-Lösung für dieses Problem.

Dieses Beitrag von "goshawk" gab mir die Lösung: Führen Sie Sudo apt-get install libpq-dev python-dev aus, wenn Sie unter Ubuntu/Debian arbeiten.

Aktualisieren

Da mehr Leute diese Antwort nützlich fanden und ihre eigenen Lösungen gepostet haben, finden Sie hier eine Liste von ihnen:

Debian/Ubuntu

Python 2

Sudo apt install libpq-dev python-dev

Python 3

Sudo apt install libpq-dev python3-dev

Zusätzlich

Wenn keine der oben genannten Lösungen Ihr Problem löst, versuchen Sie es

Sudo apt install build-essential

oder

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

Unter CentOS benötigen Sie die postgres-Entwicklungspakete:

Sudo yum install python-devel postgresql-devel

Das war zumindest die Lösung für CentOS 6.

115
Banjer

Auf Mac Mavericks mit Postgres.app Version 9.3.2.0 RC2 musste ich nach der Installation von Postgres den folgenden Code verwenden:

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

82
metasequoia

wenn Sie einen Mac verwenden, können Sie Homebrew verwenden

brew install postgresql

Und alle anderen Optionen sind hier: http://www.postgresql.org/download/macosx/

Viel Glück

76
nichochar

Ich habe vor kurzem psycopg2 auf einem Windows-Rechner konfiguriert. Die einfachste Installation ist die Verwendung einer ausführbaren Windows-Binärdatei. Sie finden es unter http://stickpeople.com/projects/python/win-psycopg/ .

Verwenden Sie easy_install, um die native Binärdatei in einer virtuellen Umgebung zu installieren:

C:\virtualenv\Scripts\> activate.bat
(virtualenv) C:\virtualenv\Scripts\> easy_install psycopg2-2.5.win32-py2.7-pg9.2.4-release.exe
62

Das hat bei mir funktioniert (Auf RHEL, CentOS:

Sudo yum install postgresql postgresql-devel python-devel

Und jetzt geben Sie den Pfad zu Ihrem Postgresql-Binärverzeichnis bei der Pip-Installation an:

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

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

UPDATE: Installieren Sie für python 3 python3-devel anstelle von python-devel

27
radtek

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

27
André

Wenn Sie Mac OS verwenden, sollten Sie PostgreSQL von der Quelle installieren. Nach Abschluss der Installation müssen Sie diesen Pfad wie folgt 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 Ihrer .profile -Datei oder .zshrc -Datei.

Dies kann je nach Betriebssystem variieren.

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

21
attomos

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

Ein häufigerer Grund ist jedoch, dass Sie libpq überhaupt nicht installiert haben. Dies geschieht normalerweise auf Computern, auf denen kein PostgreSQL-Server installiert ist, da Sie nur Client-Apps ausführen möchten, nicht den Server selbst. Jedes Betriebssystem/jede Distribution ist anders, zum Beispiel müssen Sie unter Debian/Ubuntu libpq-dev installieren. Auf diese Weise können Sie Code für die PostgreSQL-Abfragebibliothek kompilieren und verknüpfen.

In den meisten Antworten wird auch empfohlen, eine Python dev-Bibliothek zu installieren. Achtung. Wenn Sie nur das von Ihrer Distribution standardmäßig installierte Python verwenden, funktioniert dies. Wenn Sie jedoch eine neuere Version haben, kann dies zu Problemen führen. Wenn Sie Python auf diesem Computer erstellt haben, verfügen Sie bereits über die Entwicklungsbibliotheken, die zum Kompilieren von C/C++ - Bibliotheken für die Schnittstelle mit Python erforderlich sind. Solange Sie die richtige pip-Version verwenden, die im selben bin-Ordner wie die python-Binärdatei installiert ist, sind Sie fertig. Die alte Version muss nicht installiert werden.

16
Michael Dillon

Am Debian/Ubuntu:

Installieren und erstellen Sie zunächst Abhängigkeiten des Pakets psycopg2:

# apt-get build-dep python-psycopg2

Kompilieren und installieren Sie dann in Ihrer virtuellen Umgebung das psycopg2 -Modul:

(env)$ pip install psycopg2
13
Omid Raha

Ich habe dies schon einmal gemacht, wo Sie in Windows zuerst in Ihre Basisinstallation python installieren.

Dann kopieren Sie manuell das installierte psycopg2 in die virtualenv-Installation.

Es ist nicht schön, aber es funktioniert.

6
monkut

Neben der Installation der erforderlichen Pakete musste ich auch das PostgreSQL-bin-Verzeichnis manuell zu PATH hinzufügen.
$vi ~/.bash_profile
Fügen Sie PATH=/usr/pgsql-9.2/bin:$PATH vor export PATH hinzu.
$source ~/.bash_profile
$pip install psycopg2

5
xtranophilist

Unter Windows XP erhalten Sie diesen Fehler, wenn postgres nicht installiert ist ...

3
Sam Joseph

Ich habe Postgresql92 mithilfe des RedHat/CentOS-Repositorys auf der PG-Downloadseite installiert http://www.postgresql.org/download/linux/redhat/

Um pg_config zu bekommen, musste ich /usr/pgsql-9.2/bin zu PATH hinzufügen.

3
jdborg

Psycopg2 ist abhängig von Postgres-Bibliotheken. Unter Ubuntu können Sie Folgendes verwenden:

apt-get install libpq-dev

Dann:

pip install psycopg2
2
Manish Gupta

Auf Fedora 24: Für Python 3.x

Sudo dnf install postgresql-devel python3-devel

Sudo dnf install redhat-rpm-config

Aktivieren Sie Ihre virtuelle Umgebung:

pip install psycopg2
2

Ich kämpfe seit Tagen damit und habe endlich herausgefunden, wie ich den Befehl "pip install psycopg2" dazu bringe, in einer virtuellen Umgebung unter Windows (mit Cygwin) zu laufen.

Ich traf die "pg_config ausführbare Datei nicht gefunden." Fehler, aber ich hatte bereits Postgres in Windows heruntergeladen und installiert. Es wurde auch in Cygwin installiert. "which pg_config" in Cygwin lieferte "/ usr/bin/pg_config" und "pg_config" lieferte eine vernünftige Ausgabe - die mit Cygwin installierte Version ist jedoch:

VERSION = PostgreSQL 8.2.11

Dies funktioniert nicht mit der aktuellen Version von psycopg2, die mindestens 9.1 erfordert. Als ich meinem Windows-Pfad "c:\Programme\PostgreSQL\9.2\bin" hinzufügte, fand das Cygwin-Pip-Installationsprogramm die richtige Version von PostgreSQL und ich konnte das Modul erfolgreich mit pip installieren. (Dies ist wahrscheinlich der Verwendung der Cygwin-Version von PostgreSQL vorzuziehen, da die native Version viel schneller ausgeführt wird).

2
Symmetric

Unter OpenSUSE 13.2 wurde Folgendes behoben:

Sudo zypper in postgresql-devel 
1
Elliott

Windows-Benutzer mussten psycopg2 nicht mehr über den folgenden Link installieren. Installieren Sie es einfach unter der Python -Installation, die Sie eingerichtet haben. Der Ordner mit dem Namen "psycopg2" wird im Site-Packages-Ordner Ihrer python -Installation abgelegt.

Kopieren Sie diesen Ordner anschließend einfach in das Site-Packages-Verzeichnis Ihres virtuellen Computers, und Sie werden keine Probleme haben.

hier ist der Link, über den Sie die ausführbare Datei zum Installieren von psycopg2 finden

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

1
Chris Hawkes

In Arch Basisverteilungen:

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

Ich könnte es auf einem Windows-Computer installieren und Anaconda/Spyder mit python 2.7 über die folgenden Befehle verwenden:

 !pip install psycopg2

So stellen Sie die Verbindung zur Datenbank her:

 import psycopg2
 conn = psycopg2.connect(dbname='dbname',Host='Host_name',port='port_number', user='user_name', password='password')
1
Cristian Muñoz

Bevor Sie psycopg2 installieren können, müssen Sie das Paket python-dev installieren.

Wenn Sie unter Linux arbeiten (und möglicherweise auf anderen Systemen, aber ich kann aus Erfahrung nicht sprechen), müssen Sie sicherstellen, dass Sie genau wissen, welche Version von python Sie ausführen, wenn Sie das Entwicklungspaket installieren.

Zum Beispiel, als ich den Befehl verwendet habe:

Sudo apt-get install python3-dev

Ich bin immer noch auf den gleichen Fehler gestoßen, als ich es versuchte

pip install psycopg2

Da ich python 3.7 benutze, musste ich den Befehl verwenden

Sudo apt-get install python3.7-dev

Sobald ich das tat, stieß ich auf keine Probleme mehr. Wenn Sie python Version 3.5 verwenden, würden Sie diese 7 natürlich in eine 5 ändern.

Unter OSX 10.11.6 (El Capitan)

brew install postgresql
PATH=$PATH:/Library/PostgreSQL/9.4/bin pip install psycopg2
0
iNoob

Unter Ubuntu brauchte ich nur das Postgres-Entwicklerpaket:

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

* Getestet in einer virtuellen Umgebung

0
marcanuy

Unter OSX mit Macports:

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

Stellen Sie unter MacOS Mojave sicher, dass Sie das neueste Update mit Command Line Tools 10.3 - das bei mir funktioniert hat - mit Software Update aktualisiert haben. Die vorherige Version von Command Line Tools auf Mojave hat bei mir nicht funktioniert.

0
Radek

wenn pip nicht funktioniert, können Sie die .whl-Datei von hier herunterladen https://pypi.python.org/pypi/psycopg2 extrahieren .. als python setup.py install

0
Umer

Ich hatte dieses Problem, der Hauptgrund war, dass 2 gleiche Versionen installiert waren. Eine von postgres.app und eine von HomeBrew.

Wenn Sie nur die APP behalten möchten:

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