J'obtiens l'erreur suivante lors d'une tentative d'installation psycopg2
via pip sur Mavericks 10.9:
clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]
Je ne sais pas comment procéder et j'ai recherché ici et ailleurs cette erreur particulière. Toute aide est très appréciée!
Voici la sortie complète 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
la source
la source
Réponses:
Vous pouvez dire à clang de ne pas le signaler comme une erreur en définissant les variables d'environnement suivantes avant la compilation:
Alors
pip install psycopg2
devrait fonctionner.J'ai eu la même chose en essayant
pip install lxml
.Modifier: si vous installez en tant que superutilisateur (ce qui sera probablement le cas si vous essayez d'ajouter à
/Library/Python/2.7/site-packages
la distribution Python native installée en usine par Apple et livrée avec OS X, plutôt qu'à une autre distribution Python que vous avez ensuite installée vous-même ), alors vous devrez le faire, comme décrit par @Thijs Kuipers dans les commentaires ci-dessous:ou l'équivalent, pour tout autre nom de package que vous pourriez remplacer à la place de
psycopg2
.MISE À JOUR [16/05/2014]: Apple a résolu ce problème avec les Pythons système mis à jour (2.7, 2.6 et 2.5)
OS X 10.9.3
afin que la solution de contournement ne soit plus nécessaire lors de l'utilisation des derniers Mavericks etXcode 5.1+
. Cependant, à partir de maintenant, la solution de contournement est toujours requise pourOS X 10.8.x
(Mountain Lion, actuellement 10.8.5) si vous l'utilisezXcode 5.1+
.la source
greenlet
avec pip. Cela l'a corrigé, merci.-E
drapeau poursudo
charger les variables d'environnement pour l'exécution root comme l'a dit @ErikAndren. Commençons donc par les deuxexport
déclarations susmentionnées , puis parsudo -E doSomething
.Mise à jour: 10.9.3 résout le problème avec le système CPython.
Cela est dû à la dernière mise à jour de clang d'Apple fournie avec Xcode 5.1 aujourd'hui et affecte de très nombreuses personnes, donc j'espère qu'un correctif apparaîtra bientôt.
Mise à jour: Je ne m'attendais pas à ce que cela reçoive autant d'attention, mais voici plus de détails: le clang 3.4 Apple envoie par défaut des erreurs sur des indicateurs inconnus, mais CPython construit des modules en utilisant le même ensemble d'indicateurs avec lequel il a été compilé à l'origine. Le système CPython a été compilé avec plusieurs indicateurs inconnus par clang, provoquant ainsi ce problème. Les indicateurs de compilation CPython Mavericks (10.9.2) actuels sont les suivants:
Pour résoudre ce problème, vous avez quelques options:
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future
à vos indicateurs de compilation.CFLAGS=""
la source
python-config --cflags
. Lorsqu'il est exécuté sur le Python par défaut d'Apple, il affichera des options inconnues à clang 3.4.~/.bash_profile
pas bashrc, mais cela nécessiterait que vous redémarriez le shell pour prendre effet.xCode 5.1
la source
sudo ARCHFLAGS=... pip install ...
)Voici une solution qui consiste à supprimer l'indicateur de l'installation python.
Dans
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_sysconfigdata.py
plusieurs endroits, le drapeau-mfused-madd
/-mno-fused-madd
est défini.Modifiez ce fichier et supprimez toutes les références à cet indicateur, votre compilation devrait fonctionner:
Vous devez également supprimer les fichiers correspondants
_sysconfigdata.pyc
et_sysconfigdata.pyo
- au moins sur mon système, ces fichiers n'ont pas été automatiquement reconstruits:Notez que vous devez utiliser l'accès root pour effectuer ces modifications.
la source
J'ai également édité la notion du python système de ses drapeaux de compilation d'origine (comme l'a fait @ user3405479). Au lieu d'un éditeur, j'ai utilisé des outils de ligne de commande pour éditer le fichier "en place" (l'inode change). J'ai également compilé de nouveaux fichiers pyo et pyc au lieu de les laisser supprimés.
Les commandes suivantes sont exécutées en tant que root, par exemple sous
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
la source
J'ai utilisé homebrew pour installer postgresql, puis j'ai voulu installer psycopg2 dans le python 2.7 fourni par le système sur Mavericks. Pour que cela fonctionne, j'ai fini par exécuter ceci:
la source
Au moins Apple en est conscient car ce problème est abordé dans les notes de mise à jour de Xcode 5.1 (section Compilateur). Attendez-vous à une mise à jour de Python et Ruby dans la prochaine mise à jour du système d'exploitation (doigts croisés!). Notez également que l'
-Wno-error=unused-command-line-argument-hard-error-in-future
indicateur est censé être une solution de contournement temporaire et disparaîtra à l'avenir (avec un peu de chance, une fois le système Python corrigé!).Si vous êtes un mainteneur de paquets Python comme moi et que vous voulez éviter à vos utilisateurs de contourner cela eux-mêmes, voici une solution (en plus de fournir des roues / œufs binaires) qui va dans votre
setup.py
fichier:la source
Aucune des solutions ci-dessus n'a fonctionné pour moi. Ma situation est légèrement différente. J'essayais d'installer rdiff-backup via homebrew lorsque j'ai reçu ce message d'erreur.
J'ai apparemment le python par défaut d'Apple (2.7.5 @ / usr / bin / python) et le python de Homebrew (2.7.6 @ /usr/local/Cellar/python/2.7.6/bin/python), mais l'erreur venait du python d'Apple.
Pour résoudre le problème, j'ai essentiellement changé les binaires python.
Je l'ai fait via sudo:
Ensuite, «brew install rdiff-backup» a réussi sans aucune erreur.
Enfin, j'ai fait "mv / usr / bin / python_orig / usr / bin / python" pour tout revenir en arrière.
la source
Vous êtes probablement sur Python 2.7.5
La solution la plus simple est d'aller sur www.python.org et d'installer Python 2.7.6 qui est compatible avec le LLVM 5.1.
Faites ensuite griller votre ancien environnement virtuel,
rmvirtualenv {virtual_env_name}
.Faites ensuite un nouvel env virtuel.
pip devrait bien fonctionner après cela.
la source
Amazon Linux [AWS EC2]
Essayer de
pip install paramiko
surAmazon Linux AMI release 2016.09
m'a donné une erreur qui comprenait un lien vers ce poste de SO. Donc, même si cela ne correspond pas au titre du PO, je vais partager la réponse.D'or!
la source
J'ai utilisé le package python homebrew . Fonctionne bien après recompilation.
la source
Variation sur le correctif _sysconfigdata.py: utiliser un environnement virtuel
cp /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_sysconfigdata.py ${VIRTUAL_ENV}/lib/python2.7/_sysconfigdata.py
Modifiez ensuite votre copie à $ {VIRTUAL_ENV} /lib/python2.7/_sysconfigdata.py
J'ai supprimé toutes les occurrences de '-mno-fused-madd', puis les builds ont fonctionné dans ce virtualenv.
Aucune racine nécessaire!
la source
Pour moi, les mauvais indicateurs ont été explicitement donnés dans le Makefile du package. J'ai donc dû modifier le makefile pour supprimer l'indicateur non reconnu du package d'erreur.
la source
Mettre à jour Homebrew et installer unixodbc l'a résolu pour moi
la source