Recebo o seguinte erro ao tentar instalar psycopg2
via pip no Mavericks 10.9:
clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]
Não tenho certeza de como proceder e procurei aqui e em outros lugares por esse erro específico. Qualquer ajuda é muito apreciada!
Aqui está a saída completa do 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
fonte
fonte
Respostas:
Você pode dizer ao clang para não gerar isso como um erro, definindo as seguintes variáveis de ambiente antes da compilação:
Então
pip install psycopg2
deve funcionar.Eu tive o mesmo ao tentar
pip install lxml
.Editar: se você estiver instalando como superusuário (o que provavelmente será o caso se você estiver tentando anexar a
/Library/Python/2.7/site-packages
, a distribuição Python nativa instalada na fábrica da Apple que é fornecida com o OS X, em vez de outra distribuição Python que você instalou posteriormente ), será necessário fazer isso, conforme descrito por @Thijs Kuipers nos comentários abaixo:ou equivalente, por qualquer outro nome de pacote que você possa substituir no lugar de
psycopg2
.ATUALIZAÇÃO [16-05-2014]: A Apple corrigiu esse problema com o sistema Pythons atualizado (2.7, 2.6 e 2.5)
OS X 10.9.3
para que a solução alternativa não seja mais necessária ao usar os Mavericks e os mais recentesXcode 5.1+
. No entanto, a partir de agora, a solução alternativa ainda é necessária paraOS X 10.8.x
(Mountain Lion, atualmente 10.8.5) se você estiver usandoXcode 5.1+
lá.fonte
greenlet
com o pip. Isso resolveu, obrigado.-E
sinalizador parasudo
carregar as variáveis de ambiente para execução raiz, como disse o @ErikAndren. Então, primeiro as duasexport
declarações acima mencionadas , seguidas porsudo -E doSomething
.Atualização: 10.9.3 resolve o problema com o sistema CPython.
Isso é causado pela mais recente atualização de clang da Apple que veio com o Xcode 5.1 hoje e está afetando muitas pessoas, por isso espero que uma correção apareça em breve.
Atualização: Não esperava que isso chamasse muita atenção, mas aqui está mais detalhes: o clang 3.4 Apple está enviando padrões para erros em sinalizadores desconhecidos, mas o CPython cria módulos usando o mesmo conjunto de sinalizadores com os quais foi compilado originalmente. O sistema CPython foi compilado com vários sinalizadores desconhecidos pelo clang, causando esse problema. A seguir estão os sinalizadores de compilação atuais do Mavericks (10.9.2) CPython:
Para resolver esse problema, você tem algumas opções:
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future
aos seus sinalizadores de compilação.CFLAGS=""
fonte
python-config --cflags
. Ao ser executado no Python padrão da Apple, ele mostrará opções desconhecidas para o clang 3.4.~/.bash_profile
não tenho o bashrc, mas seria necessário reiniciar o shell para entrar em vigor.xCode 5.1
fonte
sudo ARCHFLAGS=... pip install ...
)Aqui está uma solução alternativa que envolve a remoção do sinalizador da instalação do python.
Em
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_sysconfigdata.py
vários lugares onde o sinalizador-mfused-madd
/-mno-fused-madd
está definido.Edite esse arquivo e remova todas as referências a esse sinalizador que sua compilação deve funcionar:
Você precisa excluir os arquivos correspondentes
_sysconfigdata.pyc
e_sysconfigdata.pyo
também - pelo menos no meu sistema, esses arquivos não foram reconstruídos automaticamente:Observe que é necessário usar o acesso root para fazer essas alterações.
fonte
Também editei a noção do python do sistema de seus sinalizadores de compilação originais (como @ user3405479). Em vez de um editor, usei ferramentas de linha de comando para editar o arquivo "no local" (o inode é alterado). Também compilei novos arquivos pyo e pyc em vez de deixá-los excluídos.
Os seguintes comandos são executados como root, por exemplo, em
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
fonte
Usei o homebrew para instalar o postgresql e depois quis instalar o psycopg2 no python 2.7 fornecido pelo sistema no Mavericks. Para que isso funcionasse, acabei executando o seguinte:
fonte
Pelo menos a Apple está ciente disso, pois esse problema é discutido nas Notas de versão do Xcode 5.1 (seção Compilador). Espere um Python e Ruby atualizados na próxima atualização do SO (dedos cruzados!). Observe também que o
-Wno-error=unused-command-line-argument-hard-error-in-future
sinalizador deve ser uma solução temporária e desaparecerá no futuro (esperemos que o sistema Python seja corrigido!).Se você é um mantenedor de pacotes Python como eu e deseja economizar para os usuários o trabalho de contornar isso eles mesmos, aqui está uma solução (além de fornecer rodas / ovos binários) que entra no seu
setup.py
arquivo:fonte
Nenhuma das soluções acima funcionou para mim. Minha situação é um pouco diferente. Eu estava tentando instalar o rdiff-backup via homebrew quando recebi esta mensagem de erro.
Aparentemente, eu tenho o python padrão da Apple (2.7.5 @ / usr / bin / python) e o python do Homebrew (2.7.6 @ /usr/local/Cellar/python/2.7.6/bin/python), mas o erro estava chegando do python da Apple.
Para corrigir o problema, basicamente troquei os binários python.
Eu fiz isso via sudo:
Em seguida, o 'brew install rdiff-backup' foi bem-sucedido sem erros.
Finalmente, eu fiz "mv / usr / bin / python_orig / usr / bin / python" para reverter tudo de volta.
fonte
Você provavelmente está no Python 2.7.5
Solução mais fácil, vá para www.python.org e instale o Python 2.7.6, que é compatível com o LLVM 5.1.
Então brinde seu antigo ambiente virtual
rmvirtualenv {virtual_env_name}
,.Então faça um novo ambiente virtual ..
O pip deve funcionar bem depois disso.
fonte
Amazon Linux [AWS EC2]
Tentando
pip install paramiko
onAmazon Linux AMI release 2016.09
me deu um erro que incluía um link para este post SO. Portanto, mesmo que não se encaixe no título do OP, vou compartilhar a resposta.Dourado!
fonte
Eu usei o pacote python homebrew . Funciona bem após a recompilação.
fonte
Variação na correção _sysconfigdata.py: use um ambiente virtual
cp /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_sysconfigdata.py ${VIRTUAL_ENV}/lib/python2.7/_sysconfigdata.py
Em seguida, edite sua cópia em $ {VIRTUAL_ENV} /lib/python2.7/_sysconfigdata.py
Eu removi todas as ocorrências de '-mno-fused-madd' e depois as compilações funcionaram nesse virtualenv.
Nenhuma raiz é necessária!
fonte
Para mim, as sinalizações ruins foram explicitamente fornecidas no Makefile do pacote. Então eu tive que editar o makefile para remover o sinalizador não reconhecido do pacote com erro.
fonte
Atualizar o Homebrew e instalar o unixodbc resolveu isso para mim
fonte