python database postgresql python-2.7 postgresql-9.3

python - Importar biblioteca psycopg2 no cargada: libssl.1.0.0.dylib



database postgresql (14)

Después de golpear mi cabeza contra la pared durante un par de horas, estas dos soluciones están garantizadas para funcionar:

Opción 1. Esto resuelve nuestro problema sin perder el tiempo con las variables de entorno. Ejecute esto en su shell:

brew install --upgrade openssl brew unlink openssl && brew link openssl --force

¡Auge! Esto actualiza los enlaces simbólicos en /usr/local para libssl y libcrypto . Ahora import psycopg2 funciona de import psycopg2 .

Opción 2. Si por alguna razón desea mantener los enlaces simbólicos actuales en usr/local , ejecute este comando en su shell:

export DYLD_FALLBACK_LIBRARY_PATH=$HOME/anaconda/lib/:$DYLD_FALLBACK_LIBRARY_PATH

Solo asegúrese de reemplazar $HOME/anaconda/lib arriba con la ruta de lib real. En mi caso, esto fue $HOME/miniconda2/envs/ali/lib .

Esto solo funcionará para la sesión de shell / bash en la que se encuentre actualmente. Para que el cambio sea persistente, agregue la declaración de export a su archivo ~/.bash_profile o ~/.bashrc .

Pensamientos: la OMI n. ° 1 es la forma adecuada de abordar este problema, pero dejé la n. ° 2 en caso de que algunas personas prefieran trabajar con variables de entorno en lugar de arreglar enlaces simbólicos (si, por ejemplo, tienen un software que depende del antiguo openssl versiones de archivo).

Cuando intento ejecutar el comando:

import psycopg2

Me sale el error:

ImportError: dlopen(/Users/gwulfs/anaconda/lib/python2.7/site-packages/psycopg2/_psycopg.so, 2): Library not loaded: libssl.1.0.0.dylib Referenced from: /Users/gwulfs/anaconda/lib/python2.7/site-packages/psycopg2/_psycopg.so Reason: image not found

Hasta ahora he intentado brew install openssl y he hecho referencia (sin suerte):

error de instalación de psycopg2 - Biblioteca no cargada: libssl.dylib

http://joshuakehn.com/2013/10/13/Postgresapp-and-psycopg2-on-OS-X.html

Imagen de Psycopg2 no encontrada


Después de intentarlo durante más de un día, llegué a la siguiente solución.

  • reinstalar brew [email protected]
  • deshabilitar csrutil -> google cómo deshabilitarlo, para que podamos copiar algo
    a / usr / lib
  • copie libssl.1.0.0.dylib en / usr / lib I did- sudo cp /usr/local/Cellar/openssl/1.0.2s/lib/libssl.1.0.0.dylib / usr / lib
  • copie libcrypto.1.0.0.dylib a / usr / lib I did- sudo cp /usr/local/Cellar/openssl/1.0.2s/lib/libcrypto.1.0.0.dylib / usr / lib

Del mismo modo, si tiene problemas para la Biblioteca no cargada: libssl.1.0.0.dylib, simplemente cambie la versión de 1.0 a 1.1 de openssl y copie libssl.1.1 en lugar de libssl.1.0 y libcrypto.1.1 en lugar de libcrypto.1.0.0

Listo, ya está todo listo para disfrutar de psycopg2 en mac.


Después de que Homebrew no me permitiera forzar el enlace openssl lo siguiente funcionó bien:

pip install --global-option=build_ext / --global-option="-I/usr/local/opt/openssl/include" / --global-option="-L/usr/local/opt/openssl/lib" psycopg2

(esta instalación tuvo éxito en un virtualenv en macOS)


En lugar de jugar con enlaces simbólicos en los $DYLD_FALLBACK_LIBRARY_PATH de la biblioteca del sistema, configure $DYLD_FALLBACK_LIBRARY_PATH para incluir las bibliotecas anaconda. p.ej:

export DYLD_FALLBACK_LIBRARY_PATH=$HOME/anaconda/lib/:$DYLD_FALLBACK_LIBRARY_PATH


En relación con la respuesta anterior de XL, no quería usar Anaconda cuando ya estoy usando pip, así que simplemente le di la ruta a las bibliotecas de Postgres que funcionaban para mí (estoy usando PostgreSQL.app en Mac OS 10.10 ) ...

export DYLD_FALLBACK_LIBRARY_PATH=/Library/PostgreSQL/9.5/lib:$DYLD_FALLBACK_LIBRARY_PATH


Estaba teniendo este problema en Mac, probar ln -s me daba ln: /usr/lib/libssl.1.0.0.dylib: operación no permitida. No quería meterme con mi sistema. En cambio, lo que funcionó para mí es simplemente instalar psycopg2-binary: pip install psycopg2-binary

Esta versión instalada de psycopg2-binary-2.8.3


Estoy usando Mac OS Sierra: y obtuve este error:

Library not loaded: libssl.1.1.dylib

Encontré esta biblioteca en

/Library/PostgreSQL/11/lib

Encontré esta solución en internet:

export DYLD_LIBRARY_PATH=/Library/PostgreSQL/11/lib

Pero esta no es una solución permanente. Como tengo que ejecutar el comando anterior cada vez que reinicio mi servidor.


Haga lo siguiente para resolver la biblioteca no cargada: error libssl.1.0.0.dylib si tiene openssl en el directorio / usr / local / Cellar

  1. sudo cp / usr / local / Cellar / openssl / << versión >> / lib / libssl.1.0.0.dylib / usr / lib

  2. Después de hacer el paso 1, si todavía obtiene la biblioteca no cargada: error libcrypto.1.0.0.dylib. Haz lo siguiente
    sudo cp / usr / local / Cellar / openssl / << versión >> / lib / libcrypto.1.0.0.dylib / usr / lib


Intenté pip install psycopg2 que daba problemas similares. Luego probé conda install psycopg2, ¡que funcionó! También asegúrese de que el pip que está usando pertenece a anaconda (qué pip)


La solución que funcionó para mí ( share no lo hizo) fue instalar psycopg2-binary con: pip install psycopg2-binary==2.7.6

Esto está en MacOS Mohave.


Mi sabor de configuración fue un poco diferente al OP: estoy usando Postgres.app en Mac y estoy dentro de un virtualenv ; Pero los síntomas fueron similares.

Para mí, esto ocurrió justo después de actualizar mi Postgres.app de 9.3 a 9.5 en mi local, y el error mostró claramente que la ruta libssl.1.0.0.dylib para libssl.1.0.0.dylib apuntaba a la antigua ubicación del directorio de datos 9.3 (la image referenciada en ¿este error?). Agregar cosas extrañas a mi ENV o eliminar enlaces simbólicos No estoy seguro de que el impacto definitivamente no me parezca correcto. Lo resolví desinstalando y luego reinstalando psycopg2 la misma manera que cuando trabajaba, algo que no se siente muy peligroso en absoluto:

# In my virtualenv pip uninstall psycopg2 pip install psycopg2

Entonces estaba todo bien!


Tuve que variar un poco la respuesta de Scott Brennstuhl: 1. Eliminar enlaces simbólicos rotos:

$ sudo rm /usr/lib/libssl.1.0.0.dylib $ sudo rm /usr/lib/libcrypto.1.0.0.dylib $ sudo rm /usr/lib/libpq.5.dylib

  1. Vuelva a vincular con los controladores incluidos de postgres:

$ sudo ln -s /Applications/Postgres.app/Contents/Versions/9.4/lib/libssl.1.0.0.dylib /usr/lib $ sudo ln -s /Applications/Postgres.app/Contents/Versions/9.4/lib/libcrypto.1.0.0.dylib /usr/lib $ sudo ln -s /Applications/Postgres.app/Contents/Versions/9.4/lib/libpq.5.dylib /usr/lib


conda install psycopg funciona para mí. Actualiza los siguientes paquetes Se actualizarán los siguientes paquetes:

conda: 3.19.1-py27_0 --> 4.0.5-py27_0 openssl: 1.0.2f-0 --> 1.0.2g-0 pip: 8.0.2-py27_0 --> 8.1.0-py27_0 setuptools: 19.6.2-py27_0 --> 20.2.2-py27_0 wheel: 0.26.0-py27_1 --> 0.29.0-py27_0


EDITAR: potencialmente peligroso, ¡lea los comentarios primero!

Vea una respuesta mucho más segura a continuación: https://.com/a/30726895/308315

Me encontré con este problema exacto aproximadamente una hora después de que lo publicaste y lo resolví. Estoy usando Mac OS X Yosemite, Python 2.7 y la aplicación Postgresql.

Parece que hay un enlace simbólico que no funciona establecido de manera predeterminada (o lo presenté mientras solucionaba problemas), para solucionarlo primero elimine los enlaces incorrectos:

$ sudo rm /usr/lib/libssl.1.0.0.dylib $ sudo rm /usr/lib/libcrypto.1.0.0.dylib

Luego, vuelva a vincularlos con (reemplace YOURUSERNAME con su nombre de usuario de Mac. Me pareció útil usar la pestaña para completar cada paso y confirmar el directorio):

$ sudo ln -s /Users/YOURUSERNAME/anaconda/lib/libssl.1.0.0.dylib /usr/lib $ sudo ln -s /Users/YOURUSERNAME/anaconda/lib/libcrypto.1.0.0.dylib /usr/lib

Creo que las otras soluciones no funcionaron para usted porque su versión está en anaconda.