Problems using psycopg2 on Mac OS (Yosemite)
目前我正在使用python在eclipse中安装psycopg2。
我发现了很多问题:
Error: pg_config executable not found.
固定:
ImportError:
dlopen(/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/psycopg2/_psycopg.so
Library libssl.1.0.0.dylib
Library libcrypto.1.0.0.dylib
固定:
sudo ln -s /Library/PostgreSQL/9.4/lib/libcrypto.1.0.0.dylib /usr/lib
ImportError:
dlopen(/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/psycopg2/_psycopg.so,
2): Symbol not found: _lo_lseek64 Referenced from:
/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/psycopg2/_psycopg.so
Expected in: /usr/lib/libpq.5.dylib in
/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/psycopg2/_psycopg.so
你能帮助我吗?
您需要替换/usr/lib/libpq.5.dylib库,因为它的版本太旧了。
这是我对这个问题的解决方案:
1 2 | $ sudo mv /usr/lib/libpq.5.dylib /usr/lib/libpq.5.dylib.old $ sudo ln -s /Library/PostgreSQL/9.4/lib/libpq.5.dylib /usr/lib |
如果您使用的是PostgresApp,则需要运行以下两个命令:
1 2 | sudo mv /usr/lib/libpq.5.dylib /usr/lib/libpq.5.dylib.old sudo ln -s /Applications/Postgres.app/Contents/Versions/9.4/lib/libpq.5.dylib /usr/lib |
这是一个在El Capitan上工作的修复程序,它不需要重新启动来解决OS X El Capitan系统完整性保护(SIP):
1 2 | brew unlink postgresql && brew link postgresql brew link --overwrite postgresql |
H / T Farhan Ahmad
我正在使用优胜美地,postgres.app和django。这让psycopg2正确加载给我,但一个区别是我的
因此我的第二行是
对于那些不能使用@KungFuLucky7的答案的El Capitan的人 - 我使用以下方法来解决问题(根据需要调整路径以匹配你的)。
1 | sudo install_name_tool -change libpq.5.dylib /Library/PostgreSQL/9.5/lib/libpq.5.dylib /usr/local/lib/python2.7/site-packages/psycopg2/_psycopg.so |
在El Capitan中,我使用与@Forbze相同的解决方案,但如下所示使用了另外两个命令。
1 2 3 | sudo install_name_tool -change libpq.5.dylib /Library/PostgreSQL/9.3/lib/libpq.5.dylib /Library/Python/2.7/site-packages/psycopg2/_psycopg.so sudo install_name_tool -change libssl.1.0.0.dylib /Library/PostgreSQL/9.3/lib/libssl.1.0.0.dylib /Library/Python/2.7/site-packages/psycopg2/_psycopg.so sudo install_name_tool -change libcrypto.1.0.0.dylib /Library/PostgreSQL/9.3/lib/libcrypto.1.0.0.dylib /Library/Python/2.7/site-packages/psycopg2/_psycopg.so |
它完美无缺!
好吧,我想提出我的解决方案,问题与c的版本有关。所以,我只输入:
1 | CFLAGS='-std=c99' pip install psycopg2==2.6.1 |