Python 无法使psycopg2正常工作,但已正确安装。苹果操作系统
我正试图在Mac上与psycopg2进行本机合作。它安装得很好,至少没有错误,但是当我导入它时会收到一条错误消息 我见过几十个线程都有类似的问题和解决方案,这些问题和解决方案差异很大,对于这样一个通用模块来说似乎太多了 有人能帮忙吗Python 无法使psycopg2正常工作,但已正确安装。苹果操作系统,python,macos,psycopg2,Python,Macos,Psycopg2,我正试图在Mac上与psycopg2进行本机合作。它安装得很好,至少没有错误,但是当我导入它时会收到一条错误消息 我见过几十个线程都有类似的问题和解决方案,这些问题和解决方案差异很大,对于这样一个通用模块来说似乎太多了 有人能帮忙吗 Last login: Wed Oct 12 15:47:24 on console Gurmokhs-MBP:~ Gurmokh$ pip install psycopg2 Requirement already satisfied (use --upgrade
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$
谢谢各位
@maxymoo我同意你的建议。我已经安装了蟒蛇2。安装程序将我的路径更新为包含/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
>>>
你能谈谈你试过什么吗?实际上,您需要将libssl.1.0.0.dylib放在可以找到它的地方。编辑以显示理解问题和我所做工作的一些尝试。感觉就像是在黑暗中刺痛。我试过这里的方法,但这里似乎没有任何效果。我快发疯了。试试Python的另一个发行版,例如Anaconda;根据我的经验,依赖Mac OS附带的Python发行版通常不是一个好主意。您是否将DYLD_FALLBACK_LIBRARY_路径设置为
/LIBRARY/PostgreSQL/9.5/lib
,或者只是粘贴到Anaconda链接中?我支持@maxymoo关于不使用内置Python的评论,但您不一定需要Anaconda,您可以从Python.org安装Python。或者,老实说,使用Docker之类的东西——所有这些头痛都会消失。虽然那时你必须学习一个新的工具,但在我看来,这是值得的……有些模块并没有出现,这是我所期望的urllib、oauth。我必须使用conda安装来安装它们。在anaconda云网站上找到说明。
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
>>>