我正在按照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号。
提前感谢您的帮助。
发布于 2017-02-16 11:15:46
只是想分享一下。以下代码适用于我:
env LDFLAGS='-L/usr/local/lib -L/usr/local/opt/openssl/lib
-L/usr/local/opt/readline/lib' pip install psycopg2==2.5.2
我使用的是macOS Sierra和psql 9.6.1。
我从pg_config
命令中获得了库路径。
发布于 2020-06-16 20:54:01
通用LDFLAGS变量集
只需在安装之前导出LDFLAGS,以下是适用于OS X的通用命令(我相信任何有相同错误的LINUX系统):
LDFLAGS=`echo $(pg_config --ldflags)` pip install psycopg2
发布于 2019-06-11 05:36:12
解决方法是安装所有的‘intsall copg2-binary’包
https://stackoverflow.com/questions/9678408
复制相似问题