问题:无法在 Mac OS X 10.7 上的 virtualenv 中使用 pip 安装 psycopg2
我正在按照 Heroku 的教程部署 Django 应用程序:http://devcenter.heroku.com/articles/django#prerequisites。
一切正常,直到我到达这部分:
$ pip install Django psycopg2
我可以自己安装 Django,但问题出在 psycopg2 上。
我不断收到此错误:
ld: library not found for -lpq
collect2: ld returned 1 exit status
ld: library not found for -lpq
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/_4/p6l0y0t51hd4xbq7llbyshmw0000gn/T//cc0L10mI.out (No such file or directory)
error: command 'gcc-4.2' failed with exit status 1
我已经在我的机器上安装了 PostgreSQL 9.1。
此外,在输出中,有一堆这样的行:
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch x86_64 -g -O2 -DNDEBUG -g -O3 -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.4.4 (dt dec pq3 ext)" -DPG_VERSION_HEX=0x090004 -DPSYCOPG_EXTENSIONS=1 -DPSYCOPG_NEW_BOOLEAN=1 -DHAVE_PQFREEMEM=1 -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I. -I/usr/include -I/usr/include/postgresql/server -c psycopg/typecast.c -o build/temp.macosx-10.6-intel-2.7/psycopg/typecast.o
我不太确定这意味着什么,但我确实注意到它有“macosx-10.6”,所以我想知道这是否是问题所在?我在10.7。
在此先感谢您的帮助。
解答
参考psycopg的官方安装指南:
在 Mac OS X 上安装 作为第一个选项,请考虑使用来自 Fink 或 MacPorts 的打包版本 Psycopg。
如果您仍想从源代码构建 Psycopg,请查看这些文章。