I installed Postgres, then psycopg2 on my Mac so that I can access Postgres from Python. The import statement is not working, because psycopg2 is not able to find the right versions (I believe) of some of the libraries. This was the case for libpq.dylib, but setting DYLD_LIBRARY_PATH to search in the Postgres directory first solved that issue:
(base) Jeffs-MacBook-Pro-2:~ jeffsidell$ echo $DYLD_LIBRARY_PATH /Library/PostgreSQL/11/lib/:/usr/local/lib:/usr/lib (base) Jeffs-MacBook-Pro-2:~ jeffsidell$ echo $LD_LIBRARY_PATH /Library/PostgreSQL/11/lib/:/usr/local/lib:/usr/lib
>>> import psycopg2 ImportError: dlopen(/Users/jeffsidell/anaconda3/lib/python3.7/site-packages/psycopg2/_psycopg.cpython-37m-darwin.so, 2): Symbol not found: __cg_jpeg_resync_to_restart Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO Expected in: /usr/local/lib/libJPEG.dylib in /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
I looked for other (newer) versions of libJPEG.dylib in my Postgres installation, but it appears not to be included with Postgres:
(base) Jeffs-MacBook-Pro-2:~ jeffsidell$ cd /Library/PostgreSQL/11/lib (base) Jeffs-MacBook-Pro-2:lib jeffsidell$ ls *JPEG* ls: *JPEG*: No such file or directory
Checking /usr/local/lib, libjpeg.dylib does exist, so likely it's a versioning issue. (And for those wondering, like I did, why libjpeg.dylib == libJPEG.dylib, see here.
I tried reinstalling psycopg2, but that didn't solve the issue.
Thanks for any help.