War*_*ece 30 python django pip psycopg2 heroku
我正在遵循Heroku的教程来部署Django应用程序:http://devcenter.heroku.com/articles/django#prerequisites.
一切正常,直到我到达这一部分:
$ pip install Django psycopg2
Run Code Online (Sandbox Code Playgroud)
我可以自己安装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
Run Code Online (Sandbox Code Playgroud)
我在我的机器上安装了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
Run Code Online (Sandbox Code Playgroud)
我不太确定它意味着什么,但我注意到它中有"macosx-10.6",所以我想知道这可能是问题吗?我在10.7.
在此先感谢您的帮助.
小智 99
只是想分享.以下代码对我有用:
env LDFLAGS='-L/usr/local/lib -L/usr/local/opt/openssl/lib
-L/usr/local/opt/readline/lib' pip install psycopg2==2.5.2
Run Code Online (Sandbox Code Playgroud)
我正在使用macOS Sierra和psql 9.6.1.
我从pg_config命令中获取了lib路径.
Nof*_*ofi 46
我将MAC OS CATALINA verison 10.15.5与python3和psql (PostgreSQL) 12.3 一起使用。这是对我有用的:
尝试使用 brew 安装 openssl
brew install openssl
Run Code Online (Sandbox Code Playgroud)
之后在终端中导出这些变量。
export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"
Run Code Online (Sandbox Code Playgroud)
验证这些变量已被导出echo $LDFLAGS,之后您可以通过键入来安装 psycopg2
pip3 install psycopg2
Run Code Online (Sandbox Code Playgroud)
and*_*abs 25
首先,下载Postgres.app.
然后,在运行之前pip install psycopg2,将二进制文件放在路径中:
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin
Run Code Online (Sandbox Code Playgroud)
通知:
9.3 代表版本,并将随着时间的推移而不同.
And*_*yko 12
只需在安装前导出 LDFLAGS,这是适用于 OS X 的通用命令(我相信任何具有相同错误的 LINUX 系统):
LDFLAGS=`echo $(pg_config --ldflags)` pip install psycopg2
Run Code Online (Sandbox Code Playgroud)
小智 6
安装postgres有brew:
brew install postgres
Run Code Online (Sandbox Code Playgroud)
然后,在psycopg2使用此命令的virtualenv安装中:
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install psycopg2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25776 次 |
| 最近记录: |