Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Mountain Lion(brew&x2B;pip)上安装psycopg2_Python_Homebrew_Psycopg2_Osx Mountain Lion - Fatal编程技术网

Python 在Mountain Lion(brew&x2B;pip)上安装psycopg2

Python 在Mountain Lion(brew&x2B;pip)上安装psycopg2,python,homebrew,psycopg2,osx-mountain-lion,Python,Homebrew,Psycopg2,Osx Mountain Lion,我试图让psycopg2在ML上工作,默认的Python 2.7(2.7.2)。我通过自制安装了postgresql,并使用pip安装了psycopg2。Postgres正在愉快地启动和运行,PGAdmin3可以看到我制作的db 但是当我运行python并尝试 import psycopg2 我得到: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Lib

我试图让psycopg2在ML上工作,默认的Python 2.7(2.7.2)。我通过自制安装了postgresql,并使用pip安装了psycopg2。Postgres正在愉快地启动和运行,PGAdmin3可以看到我制作的db

但是当我运行python并尝试

import psycopg2
我得到:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/psycopg2/__init__.py", line 67, in <module>
    from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
ImportError: dlopen(/Library/Python/2.7/site-packages/psycopg2/_psycopg.so, 2): Symbol not     found: _PQbackendPID
  Referenced from: /Library/Python/2.7/site-packages/psycopg2/_psycopg.so
  Expected in: flat namespace
 in /Library/Python/2.7/site-packages/psycopg2/_psycopg.so
但是没有骰子

我的下一个想法是:强制brew将postgresql编译为x86_64,或者从brew安装python。我喜欢第一个选择,因为我还有其他一些软件(叹气),这取决于苹果的Python是第一个


如何使用brew使postgresql编译为64位?

正如@Doughal指出的,我已经在运行32位Python了,而库需要64位。所以,用一个简单的

defaults write com.apple.versioner.python Prefer-32-Bit -bool no

关于忽略
libpq.dylib
ld:warning
说明
链接的体系结构是
i386
,这意味着您的python似乎已经是32位了,而postgres是64位。不知道为什么它会打印出一堆十六进制而不是一个架构名称,不过。。。。您可以使用
文件/usr/local/ceral/postgresql/9.1.4/lib/libpq.dylib
@Dougal I'm get
/usr/local/ceral/postgresql/9.1.4/lib/libpq.5.4.dylib:Mach-O 64位动态链接共享库x86_64
@Dougal Ah!将
默认写入
切换为
解决了问题。谢谢我被调换了。
defaults write com.apple.versioner.python Prefer-32-Bit -bool no