лязг: ошибка: неизвестный аргумент: '-мно-сплавлять-Мэдд' [-Wunused-командной-строке-аргумент-жесткий-ошибка-в-будущем]
Я получаю следующую ошибку, пытаясь установить Scrapy в ОС Mavericks.
У меня есть инструменты командной строки и установлен X11 я действительно не знаю, что происходит, и я не нашел ту же ошибку, просматривая в Интернете. Я думаю, что это может быть связано с некоторыми изменения в Xcode 5.1
Спасибо за ответы!
это часть вывода команды:
$pip установить scrapy
.
.
.
.
Downloading/unpacking cryptography>=0.2.1 (from pyOpenSSL->scrapy)
Downloading cryptography-0.3.tar.gz (208kB): 208kB downloaded
Running setup.py egg_info for package cryptography
OS/X: confusion between 'cc' versus 'gcc' (see issue 123)
will not use '__thread' in the C code
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
Traceback (most recent call last):
File "<string>", line 16, in <module>
File "/Users/agonzamart/.virtualenvs/Parser/build/cryptography/setup.py", line 156, in <module>
"test": PyTest,
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 112, in setup
_setup_distribution = dist = klass(attrs)
File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/dist.py", line 265, in __init__
self.fetch_build_eggs(attrs.pop('setup_requires'))
File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/dist.py", line 289, in fetch_build_eggs
parse_requirements(requires), installer=self.fetch_build_egg
File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/pkg_resources.py", line 618, in resolve
dist = best[req.key] = env.best_match(req, self, installer)
File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/pkg_resources.py", line 862, in best_match
return self.obtain(req, installer) # try and download/install
File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/pkg_resources.py", line 874, in obtain
return installer(requirement)
File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/dist.py", line 339, in fetch_build_egg
return cmd.easy_install(req)
File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 623, in easy_install
return self.install_item(spec, dist.location, tmpdir, deps)
File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 653, in install_item
dists = self.install_eggs(spec, download, tmpdir)
File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 849, in install_eggs
return self.build_and_install(setup_script, setup_base)
File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1130, in build_and_install
self.run_setup(setup_script, setup_base, args)
File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1118, in run_setup
raise DistutilsError("Setup script exited with %s" % (v.args[0],))
distutils.errors.DistutilsError: Setup script exited with error: command 'cc' failed with exit status 1
Complete output from command python setup.py egg_info:
OS/X: confusion between 'cc' versus 'gcc' (see issue 123)
will not use '__thread' in the C code
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
Traceback (most recent call last):
File "<string>", line 16, in <module>
File "/Users/agonzamart/.virtualenvs/Parser/build/cryptography/setup.py", line 156, in <module>
"test": PyTest,
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 112, in setup
_setup_distribution = dist = klass(attrs)
File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/dist.py", line 265, in __init__
self.fetch_build_eggs(attrs.pop('setup_requires'))
File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/dist.py", line 289, in fetch_build_eggs
parse_requirements(requires), installer=self.fetch_build_egg
File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/pkg_resources.py", line 618, in resolve
dist = best[req.key] = env.best_match(req, self, installer)
File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/pkg_resources.py", line 862, in best_match
return self.obtain(req, installer) # try and download/install
File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/pkg_resources.py", line 874, in obtain
return installer(requirement)
File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/dist.py", line 339, in fetch_build_egg
return cmd.easy_install(req)
File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 623, in easy_install
return self.install_item(spec, dist.location, tmpdir, deps)
File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 653, in install_item
dists = self.install_eggs(spec, download, tmpdir)
File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 849, in install_eggs
return self.build_and_install(setup_script, setup_base)
File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1130, in build_and_install
self.run_setup(setup_script, setup_base, args)
File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1118, in run_setup
raise DistutilsError("Setup script exited with %s" % (v.args[0],))
distutils.errors.DistutilsError: Setup script exited with error: command 'cc' failed with exit status 1
----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /Users/agonzamart/.virtualenvs/Parser/build/cryptography
3 ответов
это связано с изменением clang
по умолчанию в Xcode 5.1
и Apple, не замечая, что он будет ломать модуль расширения сборки с использованием системы Python. Одним из обходных путей является определение следующих переменных среды сначала:
export CFLAGS=-Qunused-arguments
export CPPFLAGS=-Qunused-arguments
UPDATE [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+
там.
последняя версия clang повышен до уровня ошибки что раньше было предупреждением. Переключиться обратно вы можете удалите это поведение inline прямо перед запуском команды установки:
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install <your package>
Это должно работать, но на всякий случай, если что-то пойдет не так, здесь больше информации:ошибка clang: неизвестный аргумент: '- mno-fused-madd' (ошибка установки пакета python)
на самом деле ответы Неда и Дориана связаны:
- удаление-mno-fused-madd из _sysconfigdata.py предотвращает передачу флагов компилятору.
- установка переменных среды говорит компилятору игнорировать флаги, но флаги все еще передаются. Это может сломаться в будущем выпуске Xcode.
Я просто провел дни, борясь с этой проблемой в различных пакетах, и, как Новичок Python, не мог понять там, откуда поднимались флаги. Дополняя ответ Дориана, Xcode 5 поддерживает только компилятор clang Apple, а не GCC, но дистрибутив Python, который поставляется с Mavericks, похоже, был построен с GCC. В _sysconfigdata.py файл содержит флаги, которые использовались для построения интерпретатора Python, и эти флаги используются системой сборки Python различными проектами. Поэтому любой проект, использующий систему сборки Python, использует флаги, несовместимые с установленным компилятор.
Я установил python с помощью Homebrew (который помещает его в/usr/local / Cellar и использовал мою установку apple-gcc42 также в /usr/local / Cellar) и обнаружил, что установленный _sysconfigdata.py содержит разумные флаги. Однако он все еще использует GCC. Вы можете просто построить Python из источников самостоятельно, используя clang. Я думаю, что редактирование флагов в _sysconfigdata.py это лучший способ избежать повторного вмешательства в эту проблему.
удалить _sysconfigdata.пыць и _sysconfigdata.Пе.
Это также покрыто следующими потоками:
ошибка clang: неизвестный аргумент: '- mno-fused-madd' (ошибка установки пакета python) https://discussions.apple.com/thread/5465305