Я получаю следующую ошибку при попытке установить psycopg2
pip на Mavericks 10.9:
clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]
Не уверен, как действовать, и искал здесь и в других местах эту конкретную ошибку. Любая помощь высоко ценится!
Вот полный вывод из 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
источник
источник
Ответы:
Вы можете указать clang не вызывать это как ошибку, установив следующие переменные среды перед компиляцией:
Тогда
pip install psycopg2
должно работать.У меня было то же самое при попытке
pip install lxml
.Изменить: если вы устанавливаете в качестве суперпользователя (что, вероятно, будет иметь место, если вы пытаетесь присоединиться к
/Library/Python/2.7/site-packages
исходному дистрибутиву Python, установленному на заводе Apple и поставляемому с OS X, а не к другому дистрибутиву Python, который вы впоследствии установили самостоятельно ), то вам нужно будет сделать, как описано @Thijs Kuipers в комментариях ниже:или эквивалент, для любого другого имени пакета, которое вы можете заменить вместо
psycopg2
.ОБНОВЛЕНИЕ [2014-05-16]: Apple исправила эту проблему с обновленными системными Pythons (2.7, 2.6 и 2.5),
OS X 10.9.3
поэтому обходной путь больше не требуется при использовании последних Mavericks иXcode 5.1+
. Однако, на данный момент, обходной путь все еще требуется дляOS X 10.8.x
(Mountain Lion, в настоящее время 10.8.5), если вы используетеXcode 5.1+
там.источник
greenlet
с pip. Это исправлено, спасибо.-E
флаг дляsudo
загрузки переменных окружения для выполнения root, как сказал @ErikAndren. Итак, сначала два вышеупомянутыхexport
утверждения, а затемsudo -E doSomething
.Обновление: 10.9.3 решает проблему с системой CPython.
Это вызвано последним обновлением Clang от Apple, которое вышло сегодня с Xcode 5.1 и затрагивает многих, поэтому, надеюсь, исправление скоро появится.
Обновление: не ожидал, что это привлечет столько внимания, но вот более подробно: clang 3.4 Apple поставляет по умолчанию ошибки из-за неизвестных флагов, но CPython собирает модули, используя тот же набор флагов, с которым он был изначально скомпилирован. Система CPython была скомпилирована с несколькими флагами, которые неизвестны clang, таким образом вызывая эту проблему. Ниже приведены текущие флаги компиляции CPython Mavericks (10.9.2):
Чтобы решить эту проблему, у вас есть несколько вариантов:
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future
к своим флагам компиляции.CFLAGS=""
источник
python-config --cflags
. При запуске на стандартном Python от Apple, он покажет параметры, неизвестные для Clang 3.4.~/.bash_profile
нет bashrc, но для этого вам нужно перезапустить оболочку, чтобы изменения вступили в силу.xCode 5.1
источник
sudo ARCHFLAGS=... pip install ...
)Вот обходной путь, который включает в себя удаление флага из установки Python.
В
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_sysconfigdata.py
нескольких местах установлен флаг-mfused-madd
/-mno-fused-madd
.Отредактируйте этот файл и удалите все ссылки на этот флаг, который должен работать в вашей компиляции:
Вам также необходимо удалить соответствующие файлы
_sysconfigdata.pyc
и_sysconfigdata.pyo
файлы - по крайней мере, в моей системе эти файлы не были автоматически восстановлены:Обратите внимание, что для внесения этих изменений необходимо использовать root-доступ.
источник
Я также отредактировал представление системного питона о его исходных флагах компиляции (как @ user3405479). Вместо редактора я использовал инструменты командной строки для редактирования файла «на месте» (индекс изменяется). Я также скомпилировал новые файлы pyo и pyc вместо того, чтобы оставлять их удаленными.
Следующие команды запускаются от имени пользователя root, например, под
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
источник
Я использовал homebrew для установки postgresql, а затем хотел установить psycopg2 в предоставленный системой python 2.7 на Mavericks. Чтобы заставить это работать, я запустил это:
источник
По крайней мере, Apple знает об этом, поскольку эта проблема обсуждается в Замечаниях по выпуску Xcode 5.1 (раздел «Компилятор»). Ожидайте обновления Python и Ruby в следующем обновлении ОС (скрестив пальцы!). Также обратите внимание, что
-Wno-error=unused-command-line-argument-hard-error-in-future
флаг предназначен для временного обходного пути и исчезнет в будущем (надеюсь, после исправления системы Python!).Если вы, как и я, являетесь сопровождающим пакета Python и хотите избавить своих пользователей от необходимости обходить их самостоятельно, вот решение (помимо предоставления двоичных колес / яиц), которое входит в ваш
setup.py
файл:источник
Ни одно из вышеперечисленных решений не помогло мне. Моя ситуация немного отличается. Я пытался установить rdiff-backup через homebrew, когда получил это сообщение об ошибке.
По-видимому, у меня есть как стандартный Python от Apple (2.7.5 @ / usr / bin / python), так и Python от Homebrew (2.7.6 @ /usr/local/Cellar/python/2.7.6/bin/python), но ошибка наступала от питона Apple.
Чтобы решить проблему, я переключил двоичные файлы Python.
Я сделал это через sudo:
Затем «brew install rdiff-backup» прошел без ошибок.
Наконец, я сделал «mv / usr / bin / python_orig / usr / bin / python», чтобы вернуть все обратно.
источник
Вы, вероятно, на Python 2.7.5
Самое простое решение - перейти на www.python.org и установить Python 2.7.6, который совместим с LLVM 5.1.
Тогда подними тост за твою старую виртуальную среду
rmvirtualenv {virtual_env_name}
.Затем создайте новую виртуальную среду.
Пип должен нормально работать после этого.
источник
Amazon Linux [AWS EC2]
Попытка
pip install paramiko
наAmazon Linux AMI release 2016.09
дал мне ошибку, которая включала ссылку на этот пост. Так что, хотя это не соответствует названию ОП, я собираюсь поделиться ответом.Золотой!
источник
Я использовал пакет homebrew python. Хорошо работает после перекомпиляции.
источник
Вариант исправления _sysconfigdata.py: использование виртуальной среды
cp /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_sysconfigdata.py ${VIRTUAL_ENV}/lib/python2.7/_sysconfigdata.py
Затем отредактируйте свою копию в $ {VIRTUAL_ENV} /lib/python2.7/_sysconfigdata.py
Я удалил все вхождения '-mno-fused-madd' и затем сборки работали в этом virtualenv.
Корень не нужен!
источник
Для меня плохие флаги были явно указаны в Makefile пакета. Поэтому мне пришлось отредактировать make-файл, чтобы удалить нераспознанный флаг из пакета с ошибками.
источник
Обновление Homebrew и установка unixodbc решили это за меня
источник