无法让 psycopg2 工作,但安装正确。 Mac OS

Cannot get psycopg2 to work, but installed correctly. Mac OS

我正在尝试在 Mac 上原生使用 psycopg2。它安装正常,至少没有错误,但是当我导入它时收到错误消息。

我已经看到许多具有类似问题和解决方案的线程,这些线程和解决方案差异很大,对于这样一个通用模块来说似乎太过分了。

有人可以帮忙吗?

Last login: Wed Oct 12 15:47:24 on console
Gurmokhs-MBP:~ Gurmokh$ pip install psycopg2
Requirement already satisfied (use --upgrade to upgrade): psycopg2 in     /Library/Python/2.7/site-packages
Gurmokhs-MBP:~ Gurmokh$ python
Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec  5 2015, 12:54:16) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import psycopg2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File     "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-    packages/psycopg2-2.6.2-py2.7-macosx-10.6-intel.egg/psycopg2/__init__.py",     line 50, in <module>
    from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME,    ROWID
ImportError:     dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site    -packages/psycopg2-2.6.2-py2.7-macosx-10.6-    intel.egg/psycopg2/_psycopg.so, 2): Library not loaded: libssl.1.0.0.dylib
  Referenced from:     /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-    packages/psycopg2-2.6.2-py2.7-macosx-10.6-intel.egg/psycopg2/_psycopg.so
  Reason: image not found
>>> ^D
Gurmokhs-MBP:~ Gurmokh$ 

我可以看到一些副本来自不同的应用程序。 我假设我可以复制其中一个。上面的消息告诉我什么在引用这个文件,但他们没有告诉我他们希望在哪里找到它。如果我知道它应该去哪里,我会试试这个。

bash-3.2# find . -name "libssl.1.0.0.dylib"
./Library/Application Support/Fitbit Connect/libssl.1.0.0.dylib
./Library/PostgreSQL/9.5/lib/libssl.1.0.0.dylib
./Library/PostgreSQL/9.5/pgAdmin3.app/Contents/Frameworks/libssl.1.0.0.dylib
./Users/Gurmokh/.Trash/Navicat for PostgreSQL.app/Contents/Frameworks/libssl.1.0.0.dylib

谢谢大家。

@maxymoo 我采纳了你的建议。我已经安装了anaconda2。安装更新了我的路径以包含 /anaconda/bin。

然后使用导航器我安装了 pyscopg2。现在我可以在 shebang 中使用它并且我的脚本可以正常执行并且我可以导入这个模块。

Gurmokhs-MBP:rest Gurmokh$ python
Python 2.7.12 |Anaconda 4.2.0 (x86_64)| (default, Jul  2 2016, 17:43:17) 
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> import psycopg2
if psycopg2.connect("dbname='postgres' user='postgres' host='localhost'"):
...     print "connection made"
... 
connection made
>>>