Ik heb problemen met het installeren van psycopg2. Ik krijg de volgende foutmelding wanneer ik pip install psycopg2
probeer:
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 in /tmp/pip-build/psycopg2
Maar het probleem is dat pg_config
eigenlijk in mijn PATH
zit; het werkt probleemloos:
$ which pg_config
/usr/pgsql-9.1/bin/pg_config
Ik heb geprobeerd het pad pg_config toe te voegen aan het bestand setup.cfg
en het te bouwen met behulp van de bronbestanden die ik van hun website heb gedownload (http://initd.org/psycopg/) en ik krijg de volgende foutmelding!
Error: Unable to find 'pg_config' file in '/usr/pgsql-9.1/bin/'
Maar het is er eigenlijk!!!
Ik ben verbijsterd door deze fouten. Kan iemand me alsjeblieft helpen?
Trouwens, ik sudo
alle commando’s. Ik zit ook op RHEL 5.5.
Antwoord 1, autoriteit 100%
pg_config
bevindt zich in postgresql-devel
(libpq-dev
in Debian/Ubuntu, libpq-devel
op Centos/Fedora/Cygwin/Babun.)
Antwoord 2, autoriteit 52%
In Mac OS X heb ik het opgelost met behulp van de homebrewpakketbeheerder
brew install postgresql
Antwoord 3, autoriteit 29%
Heb je python-dev
geïnstalleerd?
Als je dat al hebt gedaan, probeer dan ook libpq-dev
. te installeren
sudo apt-get install libpq-dev python-dev
Uit het artikel: Hoe installeer ik psycopg2 onder virtualenv
Antwoord 4, autoriteit 10%
Ook op OSX. Postgress.app geïnstalleerd van http://postgresapp.com/maar had hetzelfde probleem.
Ik vond pg_config
in de inhoud van die app en voegde de map toe aan $PATH
.
Het was op /Applications/Postgres.app/Contents/Versions/latest/bin
. Dus dit werkte: export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"
.
Antwoord 5, autoriteit 6%
Je kunt voorgecompileerde binaire bestanden op elk platform installeren met pip
of conda
:
python -m pip install psycopg2-binary
of
conda install psycopg2
Houd er rekening mee dat de psycopg2-binary pypi-paginaaanbeveelt om vanaf de bron te bouwen in productie:
Het binaire pakket is een praktische keuze voor ontwikkeling en testen, maar in productie wordt geadviseerd om het pakket te gebruiken dat is opgebouwd uit bronnen
Gebruik python -m pip install psycopg2
om het pakket te gebruiken dat is opgebouwd uit bronnen. Dat proces vereist verschillende afhankelijkheden (documentatie) (nadruk van mij) :
- Een C-compiler.
- De Python-headerbestanden. Ze worden meestal geïnstalleerd in een pakket zoals
python-dev
. Een bericht zoalserror: Python.h: No such file or directory
is een indicatie dat de Python-headers ontbreken.- De libpq header-bestanden. Ze worden meestal geïnstalleerd in een pakket zoals
libpq-dev
. Als je eenerror: libpq-fe.h: No such file or directory
je mist ze.- Het
pg_config
programma: het wordt meestal geïnstalleerd door hetlibpq-dev
pakket, maar soms is het dat niet in eenPATH
directory. Als het in hetPATH
staat, wordt de installatie enorm gestroomlijnd, dus probeerpg_config --version
uit te voeren: als het een fout of een onverwacht versienummer retourneert, zoek dan de map met depg_config
geleverd met de juistelibpq
-versie (meestal/usr/lib/postgresql/X.Y/bin/
) en voeg deze toe aan hetPATH
:$ export PATH=/usr/lib/postgresql/X.Y/bin/:$PATH
Je hebt alleen
pg_config
nodig ompsycopg2
te compileren, niet voor normaal gebruik.
Zodra alles op zijn plaats is, is het gewoon een kwestie van de standaard uitvoeren:
$ pip install psycopg2
of, uit de map met de broncode:
$ python setup.py build $ python setup.py install
Antwoord 6, autoriteit 5%
Op alpine is de bibliotheek met pg_config
postgresql-dev
. Voer het volgende uit om te installeren:
apk add postgresql-dev
Antwoord 7, autoriteit 4%
Dit is wat voor mij werkte op CentOS, installeer eerst:
sudo yum install postgresql postgresql-devel python-devel
Gebruik op Ubuntu gewoon de gelijkwaardige apt-get-pakketten.
sudo apt-get install postgresql postgresql-dev python-dev
En voeg nu het pad naar je postgresql binaire dir toe aan je pip install, dit zou moeten werken voor op Debain of RHEL gebaseerde Linux:
sudo PATH=$PATH:/usr/pgsql-9.3/bin/ pip install psycopg2
Zorg ervoor dat u het juiste pad opneemt. Dat is alles 🙂
Antwoord 8, autoriteit 4%
apt-get build-dep python-psycopg2
Antwoord 9, autoriteit 3%
Je moet python-vereisten toevoegen die worden gebruikt in Postgres op Ubuntu. Uitvoeren:
sudo apt-get install libpq-dev python-dev
Antwoord 10, autoriteit 3%
Om het kort samen te vatten, ik had ook precies hetzelfde probleem. Na het lezen van veel stackoverflow-berichten en online blogs, is de uiteindelijke oplossing die voor mij werkte deze:
1) PostgreSQL(ontwikkeling of een stabiele versie) moet worden geïnstalleerd voordat psycopg2 wordt geïnstalleerd.
2) Het pg_config-bestand (dit bestand bevindt zich normaal gesproken in de bin-map van de PostgreSQL-installatiemap) PATH moest expliciet worden ingesteld voordat psycopg2 werd geïnstalleerd. In mijn geval is de installatie PATH voor PostgreSQL:
/opt/local/lib/postgresql91/
dus om het PATH van het pg_config-bestand expliciet in te stellen, heb ik het volgende commando in mijn terminal ingevoerd:
PATH=$PATH:/opt/local/lib/postgresql91/bin/
Dit commando zorgt ervoor dat wanneer je pip install psycopg2 probeert, het deze keer het PATH naar pg_config automatisch zal vinden.
Ik heb ook een volledige fout met trace en de oplossing ervan gepost op mijn blogdie u misschien wilt raadplegen. Het is voor Mac OS X, maar het pg_config PATH-probleem is generiek en ook van toepassing op Linux.
Antwoord 11, autoriteit 3%
sudo apt-get install libpq-dev
werkt voor mij op Ubuntu 15.4
Antwoord 12, autoriteit 2%
Op Linux Mint werkte sudo apt-get install libpq-dev
voor mij.
Antwoord 13, autoriteit 2%
Je moet libpq-dev/postgresql-libsinstalleren, dit zijn de header-bestanden en statische bibliotheek voor het compileren van C-programma’s om te linken met de libpq-bibliotheek om te communiceren met een PostgreSQL-database-backend.
Op Arch wordt dit uitgevoerd:
$ sudo pacman -S postgresql-libs
Op Debian en Ubuntu:
$ sudo apt-get install libpq-dev
Op Mac OS X:
$ brew install postgresql
Op Red Hat/CentOS/Fedora:
$ sudo yum install postgresql-devel
Antwoord 14, autoriteit 2%
Voor degenen die OS X gebruiken, deze oplossing werkte voor mij:
1) Installeer Postgres.app:
http://www.postgresql.org/download/macosx/
2) Open vervolgens de Terminal en voer deze opdracht uit, waarbij u de plaats {{version}} vervangt door het versienummer van Postgres:
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/{{version}}/bin
bijv.
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.4/bin
Antwoord 15, autoriteit 2%
UPDATE /etc/yum.repos.d/CentOS-Base.repo, [base] en [updates] secties
ADD uitsluiting=postgresql*
curl -O http://yum.postgresql.org/9.1/redhat/rhel-6-i386/pgdg-centos91-9.1-4.noarch.rpmr
rpm -ivh pgdg-centos91-9.1-4.noarch.rpm
yum install postgresql
yum install postgresql-devel
PATH=$PATH:/usr/pgsql-9.1/bin/
pip install psycopg2
Antwoord 16, autoriteit 2%
Probeer het toe te voegen aan PATH:
PATH=$PATH:/usr/pgsql-9.1/bin/ ./pip install psycopg2
Antwoord 17, autoriteit 2%
Ali’s oplossing werkte voor mij, maar ik had problemen met het vinden van de locatie van de bin-map. Een snelle manier om het pad op Mac OS X te vinden, is door psql te openen (er is een snelle link in de bovenste menubalk). Dit opent een apart terminalvenster en op de tweede regel verschijnt het pad van uw Postgres-installatie als volgt:
My-MacBook-Pro:~ Me$ /Applications/Postgres93.app/Contents/MacOS/bin/psql ; exit;
Uw pg_config-bestand bevindt zich in die bin-map. Stel daarom, voordat u psycopg2 installeert, het pad van het pg_config-bestand in:
PATH=$PATH:/Applications/Postgres93.app/Contents/MacOS/bin/
of voor een nieuwere versie:
PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin
Installeer vervolgens psycopg2.
Antwoord 18, autoriteit 2%
Voer gewoon het volgende uit:
sudo apt install libpq-dev
Het probleem is voor mij opgelost
Antwoord 19
Ik laat dit hier achter voor de volgende ongelukkige ziel die ondanks alle geboden oplossingen niet om dit probleem heen kan. Gebruik gewoon sudo pip3 install psycopg2-binary
Antwoord 20
U moet uw pip upgraden voordat u psycopg2 installeert. Gebruik deze opdracht
pip install --upgrade pip
Antwoord 21
Op Mac OS X en als u de Postgres-app gebruikt (http://postgresapp.com/):
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin
Het is niet nodig om de versie van Postgres op te geven in deze opdracht. Er wordt altijd naar de laatste verwezen.
en doe
pip install psycopg2
P.S: als de wijzigingen niet worden weergegeven, moet u mogelijk de Terminal/Command-prompt opnieuw starten
Antwoord 22
Installatie van python-psycopg2heeft het voor mij opgelost op Arch Linux:
pacman -S python-psycopg2
Antwoord 23
Op Windows,
Misschien wilt u de Windows-poort van Psycopginstalleren, die wordt aanbevolen in psycopg’s documentatie.
Antwoord 24
Zojuist het probleem in Cent OS 7 opgelost door:
export PATH=$PATH:/usr/pgsql-9.5/bin
zorg ervoor dat uw PostgreSql-versie overeenkomt met de juiste versie hierboven.
Antwoord 25
Op MacOS is de eenvoudigste oplossing om het juiste binaire bestand te symboliseren, dat wil zeggen onder het Postgres-pakket.
sudo ln -s /Applications/Postgres.app/Contents/Versions/latest/bin/pg_config /usr/local/bin/pg_config
Dit is redelijk ongevaarlijk en alle applicaties kunnen het, indien nodig, systeembreed gebruiken.
Antwoord 26
Hier, voor de volledigheid van OS X: als je PostgreSQL installeert vanaf MacPorts, staat pg_config in /opt/local/lib/postgresql94/bin/pg_config
.
Toen je MacPorts installeerde, werd /opt/local/bin
al aan je PATH toegevoegd.
Dus dit lost het probleem op:
$ sudo ln -s /opt/local/lib/postgresql94/bin/pg_config /opt/local/bin/pg_config
Nu kan pip install psycopg2
pg_config
zonder problemen uitvoeren.
Antwoord 27
Dit werd gedeeltelijk eerder gesuggereerd, maar voeg het hier voor de duidelijkheid toe.
Uit de documentatie op https://www.psycopg.org/docs/install.html.
ze stellen voor: $ pip install psycopg2-binary
Dat loste het probleem voor mij op.
Antwoord 28
sudo yum install postgresql-devel (centos6X)
pip install psycopg2==2.5.2
Antwoord 29
Aan degenen op macOS Catalina die de zsh
-shell gebruiken en die ook de postgres-app:
Open je bestand ~/.zshrc
en voegde volgende regel toe:
export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"
Sluit vervolgens al uw terminals, open ze opnieuw en u heeft uw probleem opgelost.
Als u uw terminals niet wilt sluiten, typt u gewoon source ~/.zshrc
in de terminal waaraan u wilt blijven werken.
Antwoord 30
Voor mac-gebruikers: breid uw padvariabele uit om PostgreSQL op deze manier op te nemen export PATH=$PATH:/Library/PostgreSQL/12/bin
.