Recibo el siguiente error cuando intento instalar a psycopg2
través de pip en Mavericks 10.9:
clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]
No estoy seguro de cómo proceder y he buscado aquí y en otros lugares este error en particular. ¡Cualquier ayuda es muy apreciada!
Aquí está la salida completa de pip:
$ pip install psycopg2
Downloading/unpacking psycopg2
Downloading psycopg2-2.5.2.tar.gz (685kB): 685kB downloaded
Running setup.py (path:/private/var/folders/0z/ljjwsjmn4v9_zwm81vhxj69m0000gn/T/pip_build_tino/psycopg2/setup.py) egg_info for package psycopg2
Installing collected packages: psycopg2
Running setup.py install for psycopg2
building 'psycopg2._psycopg' extension
cc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -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 -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.5.2 (dt dec pq3 ext)" -DPG_VERSION_HEX=0x090303 -DPSYCOPG_EXTENSIONS=1 -DPSYCOPG_NEW_BOOLEAN=1 -DHAVE_PQFREEMEM=1 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I. -I/usr/local/Cellar/postgresql/9.3.3/include -I/usr/local/Cellar/postgresql/9.3.3/include/server -c psycopg/psycopgmodule.c -o build/temp.macosx-10.9-intel-2.7/psycopg/psycopgmodule.o
clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
error: command 'cc' failed with exit status 1
Complete output from command /usr/bin/python -c "import setuptools, tokenize;__file__='/private/var/folders/0z/ljjwsjmn4v9_zwm81vhxj69m0000gn/T/pip_build_tino/psycopg2/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/0z/ljjwsjmn4v9_zwm81vhxj69m0000gn/T/pip-bnWiwB-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib.macosx-10.9-intel-2.7
creating build/lib.macosx-10.9-intel-2.7/psycopg2
copying lib/__init__.py -> build/lib.macosx-10.9-intel-2.7/psycopg2
copying lib/_json.py -> build/lib.macosx-10.9-intel-2.7/psycopg2
copying lib/_range.py -> build/lib.macosx-10.9-intel-2.7/psycopg2
copying lib/errorcodes.py -> build/lib.macosx-10.9-intel-2.7/psycopg2
copying lib/extensions.py -> build/lib.macosx-10.9-intel-2.7/psycopg2
copying lib/extras.py -> build/lib.macosx-10.9-intel-2.7/psycopg2
copying lib/pool.py -> build/lib.macosx-10.9-intel-2.7/psycopg2
copying lib/psycopg1.py -> build/lib.macosx-10.9-intel-2.7/psycopg2
copying lib/tz.py -> build/lib.macosx-10.9-intel-2.7/psycopg2
creating build/lib.macosx-10.9-intel-2.7/psycopg2/tests
copying tests/__init__.py -> build/lib.macosx-10.9-intel-2.7/psycopg2/tests
copying tests/dbapi20.py -> build/lib.macosx-10.9-intel-2.7/psycopg2/tests
copying tests/dbapi20_tpc.py -> build/lib.macosx-10.9-intel-2.7/psycopg2/tests
copying tests/test_async.py -> build/lib.macosx-10.9-intel-2.7/psycopg2/tests
copying tests/test_bug_gc.py -> build/lib.macosx-10.9-intel-2.7/psycopg2/tests
copying tests/test_bugX000.py -> build/lib.macosx-10.9-intel-2.7/psycopg2/tests
copying tests/test_cancel.py -> build/lib.macosx-10.9-intel-2.7/psycopg2/tests
copying tests/test_connection.py -> build/lib.macosx-10.9-intel-2.7/psycopg2/tests
copying tests/test_copy.py -> build/lib.macosx-10.9-intel-2.7/psycopg2/tests
copying tests/test_cursor.py -> build/lib.macosx-10.9-intel-2.7/psycopg2/tests
copying tests/test_dates.py -> build/lib.macosx-10.9-intel-2.7/psycopg2/tests
copying tests/test_extras_dictcursor.py -> build/lib.macosx-10.9-intel-2.7/psycopg2/tests
copying tests/test_green.py -> build/lib.macosx-10.9-intel-2.7/psycopg2/tests
copying tests/test_lobject.py -> build/lib.macosx-10.9-intel-2.7/psycopg2/tests
copying tests/test_module.py -> build/lib.macosx-10.9-intel-2.7/psycopg2/tests
copying tests/test_notify.py -> build/lib.macosx-10.9-intel-2.7/psycopg2/tests
copying tests/test_psycopg2_dbapi20.py -> build/lib.macosx-10.9-intel-2.7/psycopg2/tests
copying tests/test_quote.py -> build/lib.macosx-10.9-intel-2.7/psycopg2/tests
copying tests/test_transaction.py -> build/lib.macosx-10.9-intel-2.7/psycopg2/tests
copying tests/test_types_basic.py -> build/lib.macosx-10.9-intel-2.7/psycopg2/tests
copying tests/test_types_extras.py -> build/lib.macosx-10.9-intel-2.7/psycopg2/tests
copying tests/test_with.py -> build/lib.macosx-10.9-intel-2.7/psycopg2/tests
copying tests/testconfig.py -> build/lib.macosx-10.9-intel-2.7/psycopg2/tests
copying tests/testutils.py -> build/lib.macosx-10.9-intel-2.7/psycopg2/tests
running build_ext
building 'psycopg2._psycopg' extension
creating build/temp.macosx-10.9-intel-2.7
creating build/temp.macosx-10.9-intel-2.7/psycopg
cc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -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 -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.5.2 (dt dec pq3 ext)" -DPG_VERSION_HEX=0x090303 -DPSYCOPG_EXTENSIONS=1 -DPSYCOPG_NEW_BOOLEAN=1 -DHAVE_PQFREEMEM=1 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I. -I/usr/local/Cellar/postgresql/9.3.3/include -I/usr/local/Cellar/postgresql/9.3.3/include/server -c psycopg/psycopgmodule.c -o build/temp.macosx-10.9-intel-2.7/psycopg/psycopgmodule.o
clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
error: command 'cc' failed with exit status 1
----------------------------------------
Cleaning up...
Command /usr/bin/python -c "import setuptools, tokenize;__file__='/private/var/folders/0z/ljjwsjmn4v9_zwm81vhxj69m0000gn/T/pip_build_tino/psycopg2/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/0z/ljjwsjmn4v9_zwm81vhxj69m0000gn/T/pip-bnWiwB-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /private/var/folders/0z/ljjwsjmn4v9_zwm81vhxj69m0000gn/T/pip_build_tino/psycopg2
python
clang
pip
osx-mavericks
tino
fuente
fuente
Respuestas:
Puede decirle a clang que no genere esto como un error configurando las siguientes variables de entorno antes de la compilación:
Entonces
pip install psycopg2
debería funcionar.Tenía lo mismo cuando intentaba
pip install lxml
.Editar: si está instalando como superusuario (que probablemente sea el caso si está tratando de agregar
/Library/Python/2.7/site-packages
, la distribución nativa de Python de Apple instalada en fábrica que se envía con OS X, en lugar de alguna otra distribución de Python que posteriormente haya instalado usted mismo) ), entonces deberá hacerlo, como lo describe @Thijs Kuipers en los comentarios a continuación:o el equivalente, para cualquier otro nombre de paquete que pueda sustituir en lugar de
psycopg2
.ACTUALIZACIÓN [2014-05-16]: Apple ha solucionado este problema con el sistema actualizado Pythons (2.7, 2.6 y 2.5) por
OS X 10.9.3
lo que la solución ya no es necesaria cuando se utilizan los últimos Mavericks yXcode 5.1+
. Sin embargo, a partir de ahora, la solución alternativa aún es necesaria paraOS X 10.8.x
(Mountain Lion, actualmente 10.8.5) si está utilizandoXcode 5.1+
allí.fuente
greenlet
con pip. Esto lo solucionó, gracias.-E
indicador asudo
para cargar las variables de entorno para la ejecución raíz como dijo @ErikAndren. Entonces, primero las dosexport
declaraciones antes mencionadas , seguidas desudo -E doSomething
.Actualización: 10.9.3 resuelve el problema con el sistema CPython.
Esto es causado por la última actualización de clang de Apple que vino con Xcode 5.1 hoy y está afectando a muchas, muchas personas, por lo que esperamos que pronto aparezca una solución.
Actualización: no esperaba que esto llamara tanto la atención, pero aquí hay más detalles: el clang 3.4 Apple está enviando valores predeterminados para errores en banderas desconocidas, pero CPython construye módulos usando el mismo conjunto de banderas con el que fue compilado originalmente. El sistema CPython fue compilado con varias banderas que son desconocidas por el sonido metálico, causando este problema. Los siguientes son los indicadores de compilación actuales de Mavericks (10.9.2) CPython:
Para resolver este problema, tiene algunas opciones:
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future
a sus banderas de compilación.CFLAGS=""
fuente
python-config --cflags
. Cuando se ejecuta en Python predeterminado de Apple, mostrará opciones desconocidas para clang 3.4.~/.bash_profile
bashrc, pero esto necesitaría que reinicies el shell para que surta efecto.xCode 5.1
fuente
sudo ARCHFLAGS=... pip install ...
)Aquí hay una solución que implica eliminar la bandera de la instalación de Python.
En
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_sysconfigdata.py
hay varios lugares donde se establece la bandera-mfused-madd
/-mno-fused-madd
.Edite este archivo y elimine todas las referencias a ese indicador que su compilación debería funcionar:
También debe eliminar los archivos correspondientes
_sysconfigdata.pyc
y_sysconfigdata.pyo
, al menos en mi sistema, estos archivos no se reconstruyeron automáticamente:Tenga en cuenta que tiene que usar el acceso raíz para hacer esos cambios.
fuente
También edité la noción de Python del sistema de sus indicadores de compilación originales (como lo hizo @ user3405479). En lugar de un editor, utilicé herramientas de línea de comandos para editar el archivo "en su lugar" (el inodo cambia). También compilé nuevos archivos pyo y pyc en lugar de dejarlos eliminados.
Los siguientes comandos se ejecutan como root, por ejemplo en
sudo -i
pushd /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
sed 's/-mno-fused-madd//g' _sysconfigdata.py \ | diff -p _sysconfigdata.py - | patch -b
python -m py_compile _sysconfigdata.py
python -OO -m py_compile _sysconfigdata.py
popd
fuente
Utilicé homebrew para instalar postgresql, y luego quise instalar psycopg2 en el python 2.7 proporcionado por el sistema en Mavericks. Para que eso funcione, terminé ejecutando esto:
fuente
Al menos Apple es consciente de esto, ya que este problema se trata en las Notas de versión de Xcode 5.1 (sección del compilador). Espere una actualización de Python y Ruby en la próxima actualización del sistema operativo (¡dedos cruzados!). También tenga en cuenta que el
-Wno-error=unused-command-line-argument-hard-error-in-future
bandera está destinada a ser una solución temporal y desaparecerá en el futuro (¡con suerte después de que se solucione el sistema Python!).Si usted es un mantenedor de paquetes de Python como yo y desea ahorrarles a sus usuarios la molestia de solucionarlo ellos mismos, aquí hay una solución (además de proporcionar ruedas / huevos binarios) que se incluye en su
setup.py
archivo:fuente
Ninguna de las soluciones anteriores funcionó para mí. Mi situación es un poco diferente. Intenté instalar rdiff-backup a través de homebrew cuando recibí este mensaje de error.
Aparentemente tengo tanto la python predeterminada de Apple (2.7.5 @ / usr / bin / python) como la python de Homebrew (2.7.6 @ /usr/local/Cellar/python/2.7.6/bin/python), pero el error estaba llegando del pitón de Apple.
Para solucionar el problema, básicamente cambié los binarios de Python.
Hice esto a través de sudo:
Luego, 'brew install rdiff-backup' tuvo éxito sin ningún error.
Finalmente, hice "mv / usr / bin / python_orig / usr / bin / python" para revertir todo.
fuente
Probablemente estés en Python 2.7.5
La solución más fácil vaya a www.python.org e instale Python 2.7.6, que es compatible con LLVM 5.1.
Luego brinda por tu antiguo entorno virtual,
rmvirtualenv {virtual_env_name}
.Luego haga un nuevo entorno virtual.
pip debería funcionar bien después de esto.
fuente
Amazon Linux [AWS EC2]
Intentando
pip install paramiko
elAmazon Linux AMI release 2016.09
me dio un error que incluía un enlace a este post SO. Entonces, a pesar de que no se ajusta al Título del OP, voy a compartir la respuesta.¡Dorado!
fuente
Utilicé el paquete de homebrew python. Funciona bien después de volver a compilar.
fuente
Variación en la corrección _sysconfigdata.py: use un entorno virtual
cp /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_sysconfigdata.py ${VIRTUAL_ENV}/lib/python2.7/_sysconfigdata.py
Luego edite su copia en $ {VIRTUAL_ENV} /lib/python2.7/_sysconfigdata.py
Eliminé todas las ocurrencias de '-mno-fused-madd' y luego las compilaciones funcionaron en ese virtualenv.
¡No se necesita root!
fuente
Para mí, las banderas malas se dieron explícitamente en el Makefile del paquete. Así que tuve que editar el archivo MAKE para eliminar la marca no reconocida del paquete de error.
fuente
Actualizar Homebrew e instalar unixodbc lo resolvió por mí
fuente