pg_config uitvoerbaar bestand niet gevonden

Ik heb problemen met het installeren van psycopg2. Ik krijg de volgende foutmelding wanneer ik pip install psycopg2probeer:

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_configeigenlijk in mijn PATHzit; 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.cfgen 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 sudoalle commando’s. Ik zit ook op RHEL 5.5.


Antwoord 1, autoriteit 100%

pg_configbevindt zich in postgresql-devel(libpq-devin Debian/Ubuntu, libpq-develop 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-devgeï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_configin 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 pipof 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 psycopg2om 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 zoals error: Python.h: No such file or directoryis een indicatie dat de Python-headers ontbreken.
  • De libpq header-bestanden. Ze worden meestal geïnstalleerd in een pakket zoals libpq-dev. Als je een error: libpq-fe.h: No such file or directoryje mist ze.
  • Het pg_configprogramma: het wordt meestal geïnstalleerd door het libpq-devpakket, maar soms is het dat niet in een PATHdirectory. Als het in het PATHstaat, wordt de installatie enorm gestroomlijnd, dus probeer pg_config --versionuit te voeren: als het een fout of een onverwacht versienummer retourneert, zoek dan de map met de pg_configgeleverd met de juiste libpq-versie (meestal /usr/lib/postgresql/X.Y/bin/) en voeg deze toe aan het PATH:
$ export PATH=/usr/lib/postgresql/X.Y/bin/:$PATH

Je hebt alleen pg_confignodig om psycopg2te 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_configpostgresql-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-devwerkt voor mij op Ubuntu 15.4


Antwoord 12, autoriteit 2%

Op Linux Mint werkte sudo apt-get install libpq-devvoor 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

Bron


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/binal 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 psycopg2pg_configzonder 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 ~/.zshrcen 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 ~/.zshrcin 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.

Other episodes