Corro
sudo pip install psycopg2
y obtengo un montón de resultados que se parecen a:
cc -DNDEBUG -g -fwrapv -Os .....
.....
cc -DNDEBUG -g -fwrapv -Os .....
.....
Y al final dice:
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
Ejecutar easy_install o hacerlo desde la fuente me da el mismo error al final (la parte sobre la biblioteca no encontrada para -lssl).
Ejecutar brew install (o actualizar) openssl produce lo siguiente
$ brew upgrade openssl
Error: openssl-1.0.1h already installed
¿Puede alguien ayudarme?
python
postgresql
psycopg2
tscizzle
fuente
fuente
Respuestas:
Para cualquiera que busque una solución para esto en macOS Sierra 10.12 (o posterior, lo más probable): arreglé esto instalando las herramientas de línea de comando:
Después de eso,
pip install psycopg2
debería funcionar.Si no es así, también puede intentar vincularlo contra el openssl de brew:
con openssl instalado vía brew. Tenga en cuenta que
brew link openssl --force
ya no funciona:Como @macho señala a continuación, si esto aún no funciona, es posible que deba usar la
--no-cache
opción de pip, por ejemplofuente
xcode-select --install
puede ser suficiente, esto debería utilizar el sistema proporcionadossl
. Actualizaré mi comentario anterior.pip install psycopg2
y acabo de recibir el mismo mensaje de error: 'ld: biblioteca no encontrada para -lssl'.xcode-select --install
solucionó el problema.xcode-select --install
solucionó el problema en Sierra para mí, también para entornos virtualesenv LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip --no-cache install psycopg2
Tenía OpenSSL instalado desde brew (
brew install openssl
)Lo siguiente funcionó para mí:
fuente
Al ejecutar
brew link openssl
me sale el siguiente mensaje:Siguiendo este consejo, este es el
pip
comando que necesita usar:fuente
Con MacOS Catalina 10.15.4, el siguiente fue el único comando que funcionó para mí:
fuente
Lo que funcionó para mí fue la sugerencia proporcionada en el comando para vincular openssl,
fuente
En mojave agregué estos al .bash_profile
Luego fue capaz de instalar psycopg 2.8.3 en un virtualenv de Python 3.7.4.
Esto después de reinstalar xcode y las herramientas de línea de comando.
¡Todas las respuestas anteriores ayudaron!
fuente
Este es el problema de la nueva versión de macOs, donde pip no se puede instalar
cryptography
. Lo que solucionó mi problema es proporcionar el env al comando de instalación:Puede reemplazar
<YOUR COMMAND HERE>
conpip install cryptography
, opip install <SOMETHING THAT REQUIRES cryptography>
por ejemplo.Crédito a este artículo: Corrección del error fatal de macOS Sierra: no se encontró el archivo 'openssl / opensslv.h' o 'openssl / aes.h'
fuente
Usando Fish, los siguientes dos comandos me resolvieron este problema después de instalar OpenSSL con Homebrew.
Úselo
brew info openssl
para obtener información actualizada.fuente
Recientemente tuve este problema en High Sierra, habiendo instalado Python 3.7 en un virtualenv.
La solución es utilizar una versión posterior de psycopg2. La versión 2.7.7 funcionó, mientras que la 2.7.1 no.
fuente
En lugar de instalar
psycopg2
, instalepsycopg2-binary
, de los mismos autores:Esto es lo que dice la documentación sobre este paquete PyPI:
fuente
Tenía este problema en Mojave. Mojave no crea un directorio / usr / include, que debe instalar psycopg2. Esto no fue obvio. Encontré la solución aquí: Cómo actualizar Xcode desde la línea de comando , que hace referencia a: https://forums.developer.apple.com/thread/104296
fuente
Tuve este mismo error y logré que se resolviera después de instalar pip cython
fuente
Ejecutando PyCharm desde el entorno conda, resolví mi problema usando:
fuente
Instalé OpenSSL usando MacPorts, por lo que los directorios no son como los de Brew.
Encontré los directorios haciendo:
Luego exporté las variables:
Es posible que también tenga que:
fuente
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/
trabajó para mi
fuente
Me las arreglé para solucionarlo usando:
No estoy seguro de cómo esto difiere de la desinstalación / actualización de brebaje que hice en OpenSSL en intentos anteriores que hice. Mi suposición es que estas operaciones dejaron algunas de las bibliotecas compartidas "defectuosas" que impedían que esto funcionara. Tenga en cuenta que esto también solucionó problemas con la instalación del módulo de criptografía de Python.
fuente