Estou tendo problemas para instalar o psycopg2. Eu recebo o seguinte erro ao tentar pip install psycopg2
:
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
Mas o problema é que pg_config
está realmente na minha PATH
; ele roda sem nenhum problema:
$ which pg_config
/usr/pgsql-9.1/bin/pg_config
Tentei adicionar o caminho pg_config ao setup.cfg
arquivo e construí-lo usando os arquivos de origem que baixei do site deles ( http://initd.org/psycopg/ ) e recebo a seguinte mensagem de erro!
Error: Unable to find 'pg_config' file in '/usr/pgsql-9.1/bin/'
Mas é realmente LÁ !!!
Estou perplexo com esses erros. Alguém pode ajudar por favor?
By the way, eu sudo
todos os comandos. Também estou no RHEL 5.5.
sudo
,$PATH
é alterado. Você pode verificar seu $ PATH como root?ln -s /usr/pgsql-9.1/bin/pg_config /usr/sbin/pg_config
e tudo está bem!Respostas:
pg_config
está empostgresql-devel
(libpq-dev
no Debian / Ubuntu,libpq-devel
em Centos / Cygwin / Babun.)fonte
libpq-dev
no ubuntu lucid (10.04). Agradeço antecipadamente.pg_config
do postgress.app está em/Applications/Postgres.app/Contents/Versions/<your version>/bin
(Mac OS X)libpqxx-devel
no fedora.sudo apt-get install libpq-dev
trabalhou para mim no UbuntuNo Mac OS X, resolvi usando o gerenciador de pacotes homebrew
fonte
brew
comando funcione.brew link postgresql
homebrew
.Você instalou
python-dev
? Se você já possui, tente também instalarlibpq-dev
Do artigo: Como instalar o psycopg2 no virtualenv
fonte
Python.h: No such file or directory
apt-get install -y gcc
Também no OSX. Instalou o Postgress.app em http://postgresapp.com/, mas teve o mesmo problema.
Eu encontrei
pg_config
no conteúdo desse aplicativo e acrescentou a dir para$PATH
.Foi às
/Applications/Postgres.app/Contents/Versions/latest/bin
. Então, isso funcionou:export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"
.fonte
PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH" pip install psycopg2
Em alpino, a biblioteca que contém
pg_config
épostgresql-dev
. Para instalar, execute:fonte
Isto é o que funcionou para mim no CentOS, primeira instalação:
No Ubuntu, basta usar os pacotes apt-get equivalentes.
E agora inclua o caminho para o seu diretório binário do postgresql com a instalação do pip, isso deve funcionar para Linux baseado em Debain ou RHEL:
Certifique-se de incluir o caminho correto. Isso é tudo :)
fonte
sudo apt-get install postgresql postgresql-dev python-dev
, e isso funcionou para mim.gcc
está instalado e python3-devel.fonte
Você deve adicionar os requisitos de python usados no Postgres no Ubuntu. Corre:
fonte
Só para resumir, eu também enfrentei exatamente o mesmo problema. Depois de ler muitas postagens de stackoverflow e blogs on-line, a solução final que funcionou para mim é a seguinte:
1) O PostgreSQL (desenvolvimento ou qualquer versão estável) deve ser instalado antes da instalação do psycopg2.
2) O arquivo pg_config (esse arquivo normalmente reside na pasta bin da pasta de instalação do PostgreSQL) O PATH precisava ser explicitamente configurado antes da instalação do psycopg2. No meu caso, a instalação PATH para PostgreSQL é:
portanto, para definir explicitamente o PATH do arquivo pg_config, digitei o seguinte comando no meu terminal:
Este comando garante que, ao tentar instalar o psycopg2 com pip, ele encontre o PATH para pg_config automaticamente desta vez.
Também publiquei um erro completo com o trace e sua solução no meu blog, que você pode consultar. É para Mac OS X, mas o problema pg_config PATH é genérico e aplicável ao Linux também.
fonte
PATH="/Applications/Postgres.app/Contents/Versions/9.3/bin:$PATH"
sudo apt-get install libpq-dev
funciona para mim no Ubuntu 15.4fonte
No Linux Mint
sudo apt-get install libpq-dev
funcionou para mim.fonte
Você pode instalar binários pré-compilados em qualquer plataforma com
pip
ouconda
:ou
Esteja ciente de que a página psycopg2-binary pypi recomenda a criação a partir da fonte na produção:
Para usar o pacote criado a partir de fontes, use
python -m pip install psycopg2
. Esse processo exigirá várias dependências ( documentação ) (ênfase minha):fonte
apt install libpq-dev
UPDATE /etc/yum.repos.d/CentOS-Base.repo, seções [base] e [updates]
ADD exclude = postgresql *
fonte
Para aqueles que executam o OS X, esta solução funcionou para mim:
1) Instale o Postgres.app:
http://www.postgresql.org/download/macosx/
2) Abra o Terminal e execute este comando, substituindo onde diz {{version}} pelo número da versão do Postgres:
exportar PATH = $ PATH: /Applications/Postgres.app/Contents/Versions / {{version}} / bin
por exemplo
exportar PATH = $ PATH: /Applications/Postgres.app/Contents/Versions/9.4/bin
fonte
sudo ln -s /Applications/Postgres.app/Contents/Versions/latest/bin/pg_config /usr/local/bin/pg_config
Tente adicioná-lo ao PATH:
fonte
-bash: cd: /usr/pgsql-x.x/bin/: No such file or directory
/usr/pgsql-x.x/bin/
está correto?pg_
arquivos importantes . Para postgres.app, esse caminho no Mac OS X é/Applications/Postgres.app/Contents/Versions/9.3/bin
.PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin
Atualize sua versão * se uma nova versão for lançada!PATH=$PATH:/usr/local/Cellar/postgresql/9.5.0/bin/
A solução de Ali funcionou para mim, mas eu estava tendo problemas para encontrar o local da pasta na lixeira. Uma maneira rápida de encontrar o caminho no Mac OS X é abrir o psql (há um link rápido na barra de menus superior). Isso abrirá uma janela de terminal separada e, na segunda linha, o caminho da instalação do Postgres aparecerá da seguinte forma:
Seu arquivo pg_config está nessa pasta bin. Portanto, antes de instalar o psycopg2, defina o caminho do arquivo pg_config:
ou para uma versão mais recente:
Em seguida, instale o psycopg2.
fonte
/Applications/Postgres.app/Contents/Versions/9.3/bin
find /usr/local -name 'pg_config'
Você precisa atualizar seu pip antes de instalar o psycopg2. Use este comando
fonte
Vou deixar isso aqui para a próxima alma infeliz que não consegue contornar esse problema, apesar de todas as soluções fornecidas. Basta usar
sudo pip3 install psycopg2-binary
fonte
brew install postgresql
consertou.pip install psycopg2-binary
: pip -> python2, pip3 -> python3. Mas, desde que você funcione, essa é uma das muitas soluções!Apenas resolvi o problema no Cent OS 7:
verifique se a sua versão do PostgreSql corresponde à versão correta acima.
fonte
No Mac OS X e se você estiver usando o Postgres App ( http://postgresapp.com/ ):
Não há necessidade de especificar a versão do Postgres neste comando. Será sempre apontado para o mais recente.
e fazer
PS: Se as alterações não refletirem, talvez seja necessário reiniciar o prompt de terminal / comando
Fonte
fonte
A instalação do python-psycopg2 resolveu isso para mim no Arch Linux:
fonte
No Windows, convém instalar a porta do Psycopg para Windows , recomendada na documentação do psycopg .
fonte
No MacOS, a solução mais simples será o link simbólico do binário correto, que está no pacote do Postgres.
Isso é bastante inofensivo e todos os aplicativos poderão usá-lo em todo o sistema, se necessário.
fonte
sudo yum instala o postgresql-devel (centos6X)
pip install psycopg2 == 2.5.2
fonte
Aqui, para completar o OS X: se você instalar o PostgreSQL a partir do MacPorts, o pg_config estará em
/opt/local/lib/postgresql94/bin/pg_config
.Quando você instalou o MacPorts, ele já foi adicionado
/opt/local/bin
ao seu PATH.Portanto, isso resolverá o problema:
$ sudo ln -s /opt/local/lib/postgresql94/bin/pg_config /opt/local/bin/pg_config
Agora
pip install psycopg2
poderá executarpg_config
sem problemas.fonte
Para aqueles no macOS Catalina que usam o
zsh
shell que também instalaram o aplicativo postgres :Abra seu
~/.zshrc
arquivo e adicione a seguinte linha:Depois feche todos os seus terminais, reabra-os e você terá resolvido o seu problema.
Se você não deseja fechar seus terminais, basta entrar
source ~/.zshrc
no terminal em que deseja continuar trabalhando.fonte
zsh
shell!Para usuários de Mac, estenda sua variável de caminho para incluir o PostgreSQL assim
export PATH=$PATH:/Library/PostgreSQL/12/bin
.fonte
Foi assim que consegui instalar o psycopg2
fonte
Tenho certeza de que você experimentou o mesmo "problema" que eu tive, portanto, vou oferecer a solução extremamente fácil ...
No seu caso, o caminho real que você precisa adicionar ao $ PATH (ou como um parâmetro de comando) é:
não
Por exemplo, se você executar o script python setup.py posteriormente, execute-o assim:
Provavelmente tarde demais, mas ainda assim a solução mais fácil.
ÚLTIMA EDIÇÃO:
Sob teste adicional, descobri que se você adicionar inicialmente o caminho para pg_config no formulário
(sem / pg_config após ..... / bin) e execute o comando pip install, ele funcionará.
No entanto, se você decidir seguir a indicação para executar o python setup.py, precisará especificar o caminho com / pg_config após ..... / bin, ou seja,
fonte
/usr/pgsql-9.6/bin/pg_config
(ou o que for chamado no sistema)/usr/bin/pg_config
- dessa forma, está disponível no PATH que você já possui.para CentOS / RedHat, verifique se
/etc/alternatives/pgsql-pg_config
é um link simbólico não quebradofonte