Saya mendapatkan kesalahan berikut ketika mencoba menginstal psycopg2
melalui pip pada Mavericks 10.9:
clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]
Tidak yakin bagaimana melanjutkan dan mencari kesalahan khusus ini di sini dan di tempat lain. Bantuan apa pun sangat kami hargai!
Ini adalah output lengkap dari 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
sumber
sumber
Jawaban:
Anda dapat memberitahu dentang untuk tidak mengangkat ini sebagai kesalahan dengan mengatur variabel lingkungan berikut kompilasi sebelumnya:
Maka
pip install psycopg2
harus bekerja.Saya memiliki hal yang sama ketika mencoba
pip install lxml
.Sunting: jika Anda menginstal sebagai superuser (yang kemungkinan akan terjadi jika Anda mencoba untuk menambahkan
/Library/Python/2.7/site-packages
, distribusi Python asli yang diinstal pabrik Apple yang dikirimkan dengan OS X, daripada ke beberapa distribusi Python lain yang kemudian Anda instal sendiri ), maka Anda perlu melakukannya, seperti yang dijelaskan oleh @Thijs Kuipers dalam komentar di bawah:atau yang setara, untuk nama paket lain apa pun yang mungkin Anda gantikan
psycopg2
.UPDATE [2014-05-16]: Apple telah memperbaiki masalah ini dengan sistem Python yang diperbarui (2.7, 2.6, dan 2.5)
OS X 10.9.3
sehingga solusi tidak diperlukan lagi saat menggunakan Mavericks dan Windows terbaruXcode 5.1+
. Namun, sampai sekarang, solusi masih diperlukan untukOS X 10.8.x
(Mountain Lion, saat ini 10.8.5) jika Anda menggunakannya diXcode 5.1+
sana.sumber
greenlet
dengan pip ini. Ini memperbaikinya, terima kasih.-E
flagsudo
untuk memuat variabel lingkungan untuk eksekusi root seperti kata @ErikAndren. Jadi, pertama duaexport
pernyataan di atas , diikuti olehsudo -E doSomething
.Pembaruan: 10.9.3 menyelesaikan masalah dengan sistem CPython.
Ini disebabkan oleh pembaruan dentang terbaru dari Apple yang datang dengan Xcode 5.1 hari ini dan memengaruhi banyak orang, jadi semoga perbaikannya akan segera muncul.
Pembaruan: Tidak mengharapkan ini mendapat begitu banyak perhatian, tapi di sini lebih detail: dentang 3.4 Apple mengirimkan default untuk kesalahan pada flag yang tidak dikenal, tetapi CPython membangun modul menggunakan set flag yang sama seperti yang telah dikompilasi sebelumnya. Sistem CPython dikompilasi dengan beberapa flag yang tidak diketahui oleh dentang, sehingga menyebabkan masalah ini. Berikut ini adalah flag kompilasi Mavericks (10.9.2) CPython saat ini:
Untuk mengatasi masalah ini, Anda memiliki beberapa opsi:
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future
ke flag kompilasi Anda.CFLAGS=""
sumber
python-config --cflags
. Saat dijalankan pada Python default Apple, itu akan menampilkan opsi yang tidak diketahui untuk berdentang 3.4.~/.bash_profile
belum bashrc, tetapi ini akan membutuhkan Anda untuk me-restart shell untuk berlaku.xCode 5.1
sumber
sudo ARCHFLAGS=... pip install ...
)Berikut ini adalah pekerjaan di sekitar yang melibatkan menghapus bendera dari instalasi python.
Di
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_sysconfigdata.py
adalah beberapa tempat di mana-mfused-madd
/-mno-fused-madd
flag diatur.Edit file ini dan hapus semua referensi yang menandai kompilasi Anda akan berfungsi:
Anda perlu menghapus file yang sesuai
_sysconfigdata.pyc
dan_sysconfigdata.pyo
juga - setidaknya di sistem saya file-file ini tidak secara otomatis dibangun kembali:Catatan yang harus menggunakan akses root untuk melakukan perubahan itu.
sumber
Saya juga mengedit sistem python tentang flag kompilasi aslinya (seperti yang dilakukan @ user3405479). Alih-alih seorang editor saya menggunakan alat baris perintah untuk mengedit file "di tempat" (inode memang berubah). Saya juga mengkompilasi file pyo dan pyc baru alih-alih membiarkannya dihapus.
Perintah berikut dijalankan sebagai root, misalnya di bawah
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
sumber
Saya menggunakan homebrew untuk menginstal postgresql, dan kemudian ingin menginstal psycopg2 ke dalam sistem yang disediakan python 2.7 di Mavericks. Agar berhasil, saya akhirnya menjalankan ini:
sumber
Setidaknya Apple mengetahui hal ini karena masalah ini dibahas dalam Catatan Rilis Xcode 5.1 (bagian Kompiler). Harapkan Python dan Ruby yang diperbarui di pembaruan OS berikutnya (semoga saja!). Perhatikan juga bahwa
-Wno-error=unused-command-line-argument-hard-error-in-future
flag ini dimaksudkan sebagai solusi sementara dan akan hilang di masa mendatang (semoga setelah sistem Python diperbaiki!).Jika Anda adalah pengelola paket Python seperti saya dan ingin menyelamatkan pengguna Anda dari kesulitan untuk mengatasinya sendiri, berikut adalah solusinya (selain menyediakan roda biner / telur) yang masuk ke
setup.py
file Anda :sumber
Tidak ada solusi di atas yang berfungsi untuk saya. Situasi saya sedikit berbeda. Saya mencoba menginstal rdiff-backup via homebrew ketika saya menerima pesan kesalahan ini.
Saya tampaknya memiliki kedua python default Apple (2.7.5 @ / usr / bin / python) dan python Homebrew (2.7.6 @ /usr/local/Cellar/python/2.7.6/bin/python), tetapi kesalahannya muncul dari python Apple.
Untuk memperbaiki masalah, pada dasarnya saya mengganti binari python.
Saya melakukan ini melalui sudo:
Kemudian, 'buat instalasi rdiff-backup' berhasil tanpa kesalahan.
Akhirnya, saya melakukan "mv / usr / bin / python_orig / usr / bin / python" untuk mengembalikan semuanya kembali.
sumber
Anda mungkin menggunakan Python 2.7.5
Solusi termudah buka www.python.org dan instal Python 2.7.6 yang kompatibel dengan LLVM 5.1.
Kemudian bersulang lingkungan virtual lama Anda
rmvirtualenv {virtual_env_name}
,.Kemudian buat virtual env baru ..
pip akan bekerja dengan baik setelah ini.
sumber
Amazon Linux [AWS EC2]
Mencoba untuk
pip install paramiko
padaAmazon Linux AMI release 2016.09
memberikan saya sebuah kesalahan yang menyertakan link ke SO posting ini. Jadi, meskipun tidak sesuai dengan Judul OP, saya akan membagikan jawabannya.Keemasan!
sumber
Saya menggunakan paket python homebrew . Bekerja dengan baik setelah kompilasi ulang.
sumber
Variasi pada perbaikan _sysconfigdata.py: gunakan lingkungan virtual
cp /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_sysconfigdata.py ${VIRTUAL_ENV}/lib/python2.7/_sysconfigdata.py
Kemudian edit salinan Anda di $ {VIRTUAL_ENV} /lib/python2.7/_sysconfigdata.py
Saya menghapus semua kejadian '-mno-menyatu-madd' dan kemudian membangun bekerja di virtualenv itu.
Tidak perlu root!
sumber
Bagi saya, flag buruk secara eksplisit diberikan di Makefile paket. Jadi saya harus mengedit makefile untuk menghapus flag yang tidak dikenal dari paket erroring.
sumber
Memutakhirkan Homebrew dan menginstal unixodbc menyelesaikannya untuk saya
sumber