eu corro
sudo pip install psycopg2
e obtenho um monte de resultados que se parecem com:
cc -DNDEBUG -g -fwrapv -Os .....
.....
cc -DNDEBUG -g -fwrapv -Os .....
.....
E no final diz:
ld: library not found for -lssl
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'cc' failed with exit status 1
----------------------------------------
Cleaning up...
Command /usr/bin/python -c "import setuptools, tokenize;__file__='/private/var/folders/bz/pvj1g9xj16d10pjjgbrfl3fw0000gn/T/pip_build_root/psycopg2/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/bz/pvj1g9xj16d10pjjgbrfl3fw0000gn/T/pip-uE3thn-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /private/var/folders/bz/pvj1g9xj16d10pjjgbrfl3fw0000gn/T/pip_build_root/psycopg2
Storing debug log for failure in /Users/Tyler/Library/Logs/pip.log
Executar easy_install ou fazê-lo a partir do código-fonte me dá o mesmo erro no final (a parte sobre a biblioteca não encontrada para -lssl).
Executar a instalação do brew (ou atualização) openssl produz o seguinte
$ brew upgrade openssl
Error: openssl-1.0.1h already installed
Alguém pode me ajudar?
python
postgresql
psycopg2
tscizzle
fonte
fonte
Respostas:
Para quem procura uma solução para isso no macOS Sierra 10.12 (ou posterior, provavelmente): Corrigi isso instalando as ferramentas de linha de comando:
Depois disso,
pip install psycopg2
deve funcionar.Caso contrário, você também pode tentar fazer um link com o openssl do brew:
com o openssl instalado via brew. Observe que o
brew link openssl --force
não funciona mais:Como @macho aponta abaixo, se isso ainda não funcionar, você pode precisar usar a
--no-cache
opção de pip, por exemplofonte
xcode-select --install
pode ser suficiente, isso deve usar o sistema fornecidossl
. Vou atualizar meu comentário acima.pip install psycopg2
e recebi a mesma mensagem de erro: 'ld: biblioteca não encontrada para -lssl'.xcode-select --install
corrigiu o problema.xcode-select --install
corrigiu o problema no Sierra para mim, também para ambientes virtuaisenv LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip --no-cache install psycopg2
Eu tinha OpenSSL instalado a partir do brew (
brew install openssl
)O seguinte funcionou para mim:
fonte
Ao correr
brew link openssl
, recebo a seguinte mensagem:Seguindo este conselho, aqui está o
pip
comando que você precisa usar:fonte
Com MacOS Catalina 10.15.4, o seguinte foi o único comando que funcionou para mim:
fonte
O que funcionou para mim foi a dica fornecida no comando para vincular o openssl,
fonte
No mojave, adicionei-os ao .bash_profile
foi então capaz de instalar o psycopg 2.8.3 em um python 3.7.4 virtualenv.
Isso depois de reinstalar o xcode e as ferramentas de linha de comando.
Todas as respostas acima ajudaram!
fonte
Este é o problema da nova versão dos macOs, onde o pip não pode instalar
cryptography
. O que corrigiu meu problema foi fornecer o env ao comando de instalação:Você pode substituir
<YOUR COMMAND HERE>
porpip install cryptography
, oupip install <SOMETHING THAT REQUIRES cryptography>
por exemplo.Crédito para este artigo: Correção de erro fatal do macOS Sierra: arquivo 'openssl / opensslv.h' ou 'openssl / aes.h' não encontrado
fonte
Usando Fish, os dois comandos a seguir resolveram esse problema para mim depois de instalar o OpenSSL com o Homebrew.
Use
brew info openssl
para obter informações atualizadas.fonte
Recentemente tive esse problema no High Sierra, tendo acabado de instalar o Python 3.7 em um virtualenv.
A solução é usar uma versão posterior do psycopg2. A versão 2.7.7 funcionou, enquanto a 2.7.1 não.
fonte
Em vez de instalar
psycopg2
, instalepsycopg2-binary
, dos mesmos autores:Isso é o que a documentação diz sobre este pacote PyPI:
fonte
Eu estava tendo esse problema no Mojave. O Mojave não cria um diretório / usr / include, que o psycopg2 precisa instalar. Isso não era óbvio. Encontrei a solução aqui: Como atualizar o Xcode a partir da linha de comando , que faz referência a: https://forums.developer.apple.com/thread/104296
fonte
Eu tive esse mesmo erro e resolvi depois de instalar o cython
fonte
Executar o PyCharm no ambiente conda, resolvi meu problema usando:
fonte
Instalei o OpenSSL usando MacPorts, portanto, os diretórios não são como os do Brew.
Encontrei os diretórios fazendo:
Em seguida, exportei as variáveis:
Você também pode ter que:
fonte
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/
trabalhou para mim
fonte
Consegui consertar usando:
Não tenho certeza de como isso difere da desinstalação / atualização do brew que fiz no OpenSSL em tentativas anteriores que fiz. Minha suposição é que essas operações deixaram algumas das bibliotecas compartilhadas "defeituosas" que estavam impedindo que isso funcionasse. Observe que isso também corrigiu problemas com a instalação do módulo de criptografia Python.
fonte