Import psycopg2 Library not loaded: libssl.1.0.0.dylib

前端 未结 20 2572
囚心锁ツ
囚心锁ツ 2020-11-28 21:02

When I try to run the command:

import psycopg2

I get the error:

ImportError: dlopen(/Users/gwulfs/anaconda/lib/python2.7/si         


        
20条回答
  •  广开言路
    2020-11-28 21:45

    After bashing my head against the wall for a couple hours, these two solutions are guaranteed to work:

    Option 1. This solves our problem without messing around with environment variables. Run this in your shell:

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

    Boom! This upgrades the symbolic links in /usr/local for libssl and libcrypto. Now import psycopg2 works like a charm.

    Option 2. If for some reason you would like to maintain the current symbolic links in usr/local, run this command in your shell:

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

    Just make sure to replace $HOME/anaconda/lib above with the actual lib path. In my case, this was $HOME/miniconda2/envs/ali/lib.

    This will only work for the shell/bash session you're currently in. To make the change persistent, add the export statement to your ~/.bash_profile or ~/.bashrc file.

    Thoughts: IMO #1 is the proper way to deal with this problem, but I left #2 in case some people prefer working with environment variables rather than fixing symbolic links (if, for example, they have software with a dependency on the older openssl file versions).

提交回复
热议问题