python - crear - Cómo instalar PyGreSQL usando Virtualenv en Mac OS Sierra
virtualenv ubuntu (1)
Estoy configurando un virtualenv
para que trabaje con una aplicación heredada de webservices desarrollada en python que usa el microframework del matraz y la PostgreSQL
datos PostgreSQL
, esta aplicación usa PyGreSQL 5.0.3
como una dependencia para conectarse con la base de datos.
He instalado PostgreSQL 9.6.1
, lo instalé usando:
brew install postgresql
He instalado y estoy trabajando con Python 2.7
Cuando ejecuto el
pip install -r requirements.txt
Estoy obteniendo este mensaje de error:
Running setup.py install for PyGreSQL ... error
Complete output from command /Users/user/Development/Projects/flask/ws/myenv/bin/python -u -c "import setuptools, tokenize;__file__=''/private/var/folders/t1/x7lrbmyd3lq0k8ngknwg1zx00000gn/T/pip-build-KjQgiU/PyGreSQL/setup.py'';f=getattr(tokenize, ''open'', open)(__file__);code=f.read().replace(''/r/n'', ''/n'');f.close();exec(compile(code, __file__, ''exec''))" install --record /var/folders/t1/x7lrbmyd3lq0k8ngknwg1zx00000gn/T/pip-3lBp1N-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/user/Development/Projects/flask/ws/myenv/include/site/python2.7/PyGreSQL:
running install
running build
running build_py
creating build
creating build/lib.macosx-10.12-intel-2.7
copying pg.py -> build/lib.macosx-10.12-intel-2.7
copying pgdb.py -> build/lib.macosx-10.12-intel-2.7
running build_ext
building ''_pg'' extension
creating build/temp.macosx-10.12-intel-2.7
cc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch x86_64 -arch i386 -pipe -DPYGRESQL_VERSION=5.0.3 -DDIRECT_ACCESS -DLARGE_OBJECTS -DDEFAULT_VARS -DESCAPING_FUNCS -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/usr/local/Cellar/postgresql/9.6.1/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c pgmodule.c -o build/temp.macosx-10.12-intel-2.7/pgmodule.o -O2 -funsigned-char -Wall -Werror
pgmodule.c:4143:9: error: implicit conversion loses integer precision: ''long'' to ''int'' [-Werror,-Wshorten-64-to-32]
num = PyInt_AsLong(param);
~ ^~~~~~~~~~~~~~~~~~~
pgmodule.c:4448:12: error: implicit conversion loses integer precision: ''long'' to ''int'' [-Werror,-Wshorten-64-to-32]
pgport = PyInt_AsLong(pg_default_port);
~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.
error: command ''cc'' failed with exit status 1
----------------------------------------
Como puede ver, este error se deriva de compilar y compilar el paquete, pero tengo instalada la biblioteca postgresql
, que veo como el problema común en otros casos. Por otro lado, he instalado las herramientas de línea de comando de mac, cambié mi compilador de cc
a gcc
y estoy teniendo el mismo error
Alguna idea de cómo resolverlo, gracias de antemano
No pude instalar ninguna versión de este paquete normalmente. Probablemente sea un problema con el paquete.
Solución: si desactivas la advertencia como error, debería compilarse correctamente.
export CFLAGS="-Wno-error"
pip install PyGreSQL