python - learn - import django heroku
No se puede instalar psycopg2 con pip en virtualenv en Mac OS X 10.7 (7)
Centrándose en esta línea: ld: biblioteca no encontrada para -lpq
psycopg2, como la mayoría de las bibliotecas de postgres de terceros, quiere que ''pg_config'' esté disponible en su ruta. Supongo que ese es tu problema.
Escriba ''pg_config'' en el símbolo del sistema. Espero que veas que no se encuentra. Si no, haz una
sudo encontrar / -nombre pg_config
para encontrar dónde está, y luego agregar esa ubicación a su ruta, ejecute ''pg_config'' y ver que tenga éxito, y finalmente, vuelva a ejecutar pip.
el comando de búsqueda está buscando a partir de su directorio raíz; Tardará unos minutos .
Estoy siguiendo el tutorial de Heroku para implementar una aplicación Django: http://devcenter.heroku.com/articles/django#prerequisites .
Todo funciona bien hasta que llegue a esta parte:
$ pip install Django psycopg2
Puedo instalar Django por sí mismo, pero el problema es con psycopg2.
Sigo recibiendo este error:
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
He instalado PostgreSQL 9.1 en mi máquina.
Además, en la salida, hay un montón de líneas como esta:
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
No estoy realmente seguro de lo que significa, pero me doy cuenta de que tiene "macosx-10.6", así que me pregunto si ese podría ser el problema. Estoy en 10.7.
Gracias de antemano por tu ayuda.
Consulte la guía de instalación oficial de psycopg:
Instalación en Mac OS X Como primera opción, considere usar una versión empaquetada de Psycopg de Fink o MacPorts.
Si aún desea compilar Psycopg desde la fuente, eche un vistazo a these artículos.
El siguiente post me ayudó a ponerlo en funcionamiento:
https://.com/a/10326004/1361851
Tuve que instalar "herramientas de línea de comandos" para Xcode y luego pude instalar con la virtualenv igual que el tutorial heroku.
En primer lugar, descargue Postgres.app
.
Luego, antes de ejecutar pip install psycopg2
, ponga el binario en su ruta:
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin
AVISO :
9.3
significa versión y diferirá en el tiempo.
Instalar postgres
con brew
brew install postgres
Luego, en tu virtualenv instala psycopg2
con este comando:
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install psycopg2
Probé todas las soluciones anteriores, pero lo único que resolvió el problema es simplemente actualizar las utilidades de Xcode CLI a través de la App Store oficial.
Sólo me gustaría compartir. El siguiente código funcionó para mí:
env LDFLAGS=''-L/usr/local/lib -L/usr/local/opt/openssl/lib
-L/usr/local/opt/readline/lib'' pip install psycopg2==2.5.2
Estoy usando macOS Sierra y psql 9.6.1.
pg_config
la ruta lib del comando pg_config
.