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 folgende 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 das nur tun, damit das psycopg2 funktioniert?
python setup.py build_ext --pg-config /path/to/pg_config build ...
python
virtualenv
psycopg2
pip
André
quelle
quelle
sudo apt install libpq-dev python3.4-dev
odersudo apt install libpq-dev python3.5-dev
Antworten:
Hinweis : In PyPI gibt es seit einiger Zeit Binärräder für Windows, sodass dies für Windows-Benutzer kein Problem mehr darstellen sollte. Im Folgenden finden Sie Lösungen für Linux- und Mac-Benutzer, da viele von ihnen diesen Beitrag über die Websuche finden.
Option 1
Installieren
psycopg2-binary
Sie stattdessen das PyPI-Paket mit Python-Rädern für Linux und Mac OS.Option 2
Installieren Sie die Voraussetzungen für die Erstellung des
psycopg2
Pakets aus dem Quellcode:Debian / Ubuntu
Python 3
Möglicherweise müssen Sie
python3.8-dev
z. B. Python 3.8 installieren oder ähnliches.Python 2 1
Wenn das nicht genug ist, versuchen Sie es
oder
auch vor der erneuten Installation von psycopg2.
CentOS 6
Siehe Banjers Antwort
1 Wirklich? Es ist 2020
quelle
*-dev
Pakete enthalten die Dateien, die zum Kompilieren einer Anwendung aus dem Quellcode erforderlich sind, der die von der Bibliothek bereitgestellten Funktionenpsycopg2
verwendet (unter anderem dielibpq
undpython
-Bibliotheken).sudo apt-get install postgresql-server-dev-all
sudo apt-get install -y build-essential
Unter CentOS benötigen Sie die Postgres-Entwicklungspakete:
Das war zumindest die Lösung für CentOS 6.
quelle
sudo yum install python36-devel
(ersetzen Sie 36 durch Ihre Version von Python 3).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
quelle
PATH=$PATH:/Library/PostgreSQL/9.4/bin pip install psycopg2
.Wenn Sie auf einem Mac sind, können Sie Homebrew verwenden
Alle anderen Optionen finden Sie hier: http://www.postgresql.org/download/macosx/
Viel Glück
quelle
virtualenv
wie es das OP verlangt hat.Ich habe kürzlich psycopg2 auf einem Windows-Computer 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:
quelle
Für Python 3 sollten Sie
sudo apt-get install libpq-dev python3-dev
unter Debian verwenden.quelle
Das hat bei mir funktioniert (On RHEL, CentOS:
Und jetzt fügen Sie den Pfad zu Ihrem postgresql-Binärverzeichnis bei Ihrer Pip-Installation hinzu:
Stellen Sie sicher, dass Sie den richtigen Pfad angeben. Das ist alles :)
UPDATE: Für Python 3 installieren Sie bitte
python3-devel
anstelle vonpython-devel
quelle
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:
oder Sie können den Pfad folgendermaßen anhängen:
in Ihrer
.profile
Datei oder.zshrc
Datei.Dies kann je nach Betriebssystem variieren.
Sie können den Installationsprozess unter http://www.thegeekstuff.com/2009/04/linux-postgresql-install-and-configure-from-source/ verfolgen.
quelle
Die bisherigen Antworten ähneln zu sehr magischen Rezepten. Der Fehler, den Sie erhalten haben, zeigt an, dass pip keinen benötigten Teil der PostgreSQL Query-Bibliothek finden kann. Möglicherweise liegt dies daran, dass Sie es an einem nicht standardmäßigen Ort für Ihr Betriebssystem installiert haben, weshalb in der Meldung die Verwendung der Option --pg-config vorgeschlagen wird.
Ein häufigerer Grund ist jedoch, dass libpq überhaupt nicht installiert ist. Dies geschieht normalerweise auf Computern, auf denen der PostgreSQL-Server NICHT installiert ist, da Sie nur Client-Apps ausführen möchten, nicht den Server selbst. Jedes Betriebssystem / jede Distribution ist anders. Beispielsweise müssen Sie unter Debian / Ubuntu libpq-dev installieren. Auf diese Weise können Sie Code kompilieren und mit der PostgreSQL Query-Bibliothek verknüpfen.
Die meisten Antworten schlagen auch vor, eine Python-Entwicklungsbibliothek zu installieren. Achtung. Wenn Sie nur das von Ihrer Distribution installierte Standard-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.
quelle
Am
Debian/Ubuntu
:Installieren und erstellen Sie zuerst die Abhängigkeiten des
psycopg2
Pakets:Kompilieren und installieren Sie dann in Ihrer virtuellen Umgebung das
psycopg2
Modul:quelle
Ich habe dies zuvor getan, wo Sie in Windows zuerst in Ihre Basis-Python-Installation installieren.
Anschließend kopieren Sie das installierte psycopg2 manuell in die virtualenv-Installation.
Es ist nicht schön, aber es funktioniert.
quelle
venv
. Ich konnte außerhalb der virtuellen Umgebung installieren, kein Problem. Ich habe diese Datei dann buchstäblich aus meinem Python-Paketbibliotheksverzeichnis kopiert und innerhalb derselben in das Verzeichnis eingefügtvenv
. Meine Vermutung ist, dass, da meine Version (en) von Python Anaconda-Distributionen sind, etwas mit dem Pfad, der angenommen / verwendet wurde, nicht stimmte.Neben der Installation der erforderlichen Pakete musste ich auch das PostgreSQL-Bin-Verzeichnis manuell zu PATH hinzufügen. Vorher
$vi ~/.bash_profile
hinzufügen .
PATH=/usr/pgsql-9.2/bin:$PATH
export PATH
$source ~/.bash_profile
$pip install psycopg2
quelle
Unter Windows XP wird dieser Fehler angezeigt, wenn postgres nicht installiert ist ...
quelle
Ich habe Postgresql92 mithilfe des RedHat / CentOS-Repositorys auf der Download-Site von PG http://www.postgresql.org/download/linux/redhat/ installiert.
Um pg_config zu erhalten, musste ich /usr/pgsql-9.2/bin zu PATH hinzufügen.
quelle
Bevor Sie psycopg2 installieren können, müssen Sie das python-dev-Paket installieren.
Wenn Sie unter Linux arbeiten (und möglicherweise auf anderen Systemen, aber ich kann aus Erfahrung nicht sprechen), müssen Sie bei der Installation des Entwicklungspakets genau angeben, welche Python-Version Sie ausführen.
Zum Beispiel, als ich den Befehl verwendet habe:
Ich bin immer noch auf den gleichen Fehler gestoßen, als ich es versuchte
Da ich Python 3.7 verwende, musste ich den Befehl verwenden
Sobald ich dies tat, stieß ich auf keine Probleme mehr. Wenn Sie auf Python Version 3.5 sind, würden Sie diese 7 natürlich in eine 5 ändern.
quelle
sudo apt-get install python-x.x-dev
das Problem wurde behoben.Ich habe seit Tagen damit zu kämpfen und endlich herausgefunden, wie der Befehl "pip install psycopg2" in einer virtuellen Umgebung unter Windows (unter Cygwin) ausgeführt werden kann.
Ich habe die "ausführbare Datei pg_config nicht gefunden" getroffen. Fehler, aber ich hatte bereits Postgres in Windows heruntergeladen und installiert. Es wurde auch in Cygwin installiert. Das Ausführen von "welche pg_config" in Cygwin ergab "/ usr / bin / pg_config" und das Ausführen von "pg_config" ergab eine vernünftige Ausgabe - die mit Cygwin installierte Version lautet jedoch:
VERSION = PostgreSQL 8.2.11
Dies funktioniert nicht mit der aktuellen Version von psycopg2, für die mindestens 9.1 erforderlich zu sein scheint. Als ich meinem Windows-Pfad "c: \ Programme \ PostgreSQL \ 9.2 \ bin" hinzufügte, konnte das Cygwin-Pip-Installationsprogramm die richtige Version von PostgreSQL finden und 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.)
quelle
Auf Fedora 24: Für Python 3.x.
Aktivieren Sie Ihre virtuelle Umgebung:
quelle
Psycopg2 hängt von Postgres-Bibliotheken ab. Unter Ubuntu können Sie Folgendes verwenden:
Dann:
quelle
Für niedrige Windows-Benutzer war es nicht möglich, psycopg2 über den folgenden Link zu installieren. Installieren Sie es einfach auf der von Ihnen eingerichteten Python-Installation. Der Ordner "psycopg2" wird im Ordner "site-packages" Ihrer Python-Installation abgelegt.
Kopieren Sie danach einfach diesen Ordner in das Site-Packages-Verzeichnis Ihrer virtuellen Umgebung, und Sie werden keine Probleme haben.
Hier ist der Link, über den Sie die ausführbare Datei zur Installation von psycopg2 finden
http://www.lfd.uci.edu/~gohlke/pythonlibs/
quelle
Unter OpenSUSE 13.2 wurde Folgendes behoben:
quelle
Ich könnte es auf einem Windows-Computer installieren und Anaconda / Spyder mit Python 2.7 über die folgenden Befehle verwenden:
So stellen Sie die Verbindung zur Datenbank her:
quelle
psql -l
, Host localhost, Standard-Datenbank-Port 5432, Benutzer aufgelistet,\du
sobald Sie in psql kommen und das Passwort erraten.In Arch- Basisverteilungen:
quelle
Wenn pip nicht funktioniert, können Sie die .whl-Datei von hier herunterladen. https://pypi.python.org/pypi/psycopg2 extrahieren Sie sie .. als
python setup.py install
quelle
Unter Ubuntu brauchte ich nur das Postgres-Entwicklungspaket:
* In einer virtuellen Umgebung getestet
quelle
Unter OSX 10.11.6 (El Capitan)
quelle
brew install postgresql PATH=$PATH:/usr/local/Cellar/postgresql/9.6.2/bin/ pip install psycopg2
Unter OSX mit Macports:
quelle
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:
quelle
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 unter Mojave hat bei mir nicht funktioniert.
quelle
Versuchen Sie dies in
Gentoo
:quelle
Unter Windows funktioniert dies wie folgt
: Führen Sie diesen Befehl an der Eingabeaufforderung nach der Installation von flask via pip in einer virtuellen Umgebung aus
Überprüfen Sie dies
quelle