tutorial learn disable_collectstatic python django heroku pip psycopg2

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 .