2016-10-12 169 views
0

我正嘗試在Mac上本地使用psycopg2。它安裝得很好,至少沒有錯誤,但是當我導入它時會得到一個錯誤信息。無法使psycopg2正常工作,但安裝正確。 Mac OS

我見過幾十個類似的問題和解決方案,這些問題和解決方案的差異很大,而且對於這樣一個通用模塊來說似乎過分了。

任何人都可以幫忙嗎?

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 
+0

你能不能討論一下你試過的?實際上,您需要將libssl.1.0.0.dylib放在可找到的某處。編輯 – jimjkelly

+0

以顯示一些嘗試理解問題以及我所做的事情。 – Mokadillion

+0

感覺就像我在黑暗中刺傷。我試過從這裏的方法http://stackoverflow.com/questions/27264574/import-psycopg2-library-not-loaded-libssl-1-0-0-dylib/30726895#30726895和這裏http://mithun.co/ hacks/library-not-loaded-libcrypto-1-0-0-dylib-issue-in-mac /什麼都不起作用。它使我瘋狂。 – Mokadillion

回答

1

謝謝你們。

@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 
>>> 
+1

一些模塊不存在,我會期望urllib,oauth。我必須使用conda安裝來安裝它們。在anaconda雲網站上找到說明。 – Mokadillion

相關問題