HOME BLOG

How to fix ‘image not found’ error related to ‘Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib’ when you import psycopg2 on MacOS

Posted on: April 3rd, 2020 by Olu No Comments

Hi folks,

In this post we discuss how to fix an error you may come across when you run import

psycopg2. You may come across this error if you have recently updated openssl to a version greater than 1.0.0 on Mac OS.

The error looks like

 

  File "/Users/someuser/.virtualenvs/top_games/lib/python3.7/site-packages/sqlalchemy/dialects/postgresql/psycopg2.py", line 737, in dbapi
    import psycopg2
  File "/Users/someuser/.virtualenvs/top_games/lib/python3.7/site-packages/psycopg2/__init__.py", line 50, in 
    from psycopg2._psycopg import (                     # noqa
ImportError: dlopen(/Users/someuser/.virtualenvs/top_games/lib/python3.7/site-packages/psycopg2/_psycopg.cpython-37m-darwin.so, 2): Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
  Referenced from: /Users/someuser/.virtualenvs/top_games/lib/python3.7/site-packages/psycopg2/_psycopg.cpython-37m-darwin.so
  Reason: image not found

 

Here is how to fix it:

Activate your project’s virtual environment.

Update psycopg2 using the command:

 

pip install psycopg2 --upgrade

 

If you come across an error like

 

ld: library not found for -lssl

 

then run the following two commands in your terminal

 

export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"

 

Then, try the aforementioned pip command once more.

That’s it. Once psycopg2 is upgraded, the import issue should be fixed.

Leave a Reply