Saya mencoba menginstal numpy (dan scipy dan matplotlib) menjadi virturalenv.
Saya terus mendapatkan kesalahan ini:
RuntimeError: Broken toolchain: cannot link a simple C program
----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1
Saya memiliki alat baris perintah untuk xcode diinstal
$ which gcc
/usr/bin/gcc
$ which cc
/usr/bin/cc
Saya menggunakan Mac OSX 10.9 Menggunakan python yang diinstal minuman
Edit
Ya, mencoba menginstal dengan pip.
Seluruh pelacakan balik sangat besar (> 400 baris)
Inilah sebagian darinya:
C compiler: 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
compile options: '-Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -Inumpy/core/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c'
cc: _configtest.c
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
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
failure.
removing: _configtest.c _configtest.o
Traceback (most recent call last):
File "<string>", line 17, in <module>
File "/Users/bdhammel/Documents/research_programming/julia_env/build/numpy/setup.py", line 192, in <module>
setup_package()
File "/Users/bdhammel/Documents/research_programming/julia_env/build/numpy/setup.py", line 185, in setup_package
configuration=configuration )
File "/Users/bdhammel/Documents/research_programming/julia_env/build/numpy/numpy/distutils/core.py", line 169, in setup
return old_setup(**new_attr)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 152, in setup
dist.run_commands()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/Users/bdhammel/Documents/research_programming/julia_env/build/numpy/numpy/distutils/command/egg_info.py", line 10, in run
self.run_command("build_src")
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/cmd.py", line 326, in run_command
self.distribution.run_command(command)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/Users/bdhammel/Documents/research_programming/julia_env/build/numpy/numpy/distutils/command/build_src.py", line 153, in run
self.build_sources()
File "/Users/bdhammel/Documents/research_programming/julia_env/build/numpy/numpy/distutils/command/build_src.py", line 164, in build_sources
self.build_library_sources(*libname_info)
File "/Users/bdhammel/Documents/research_programming/julia_env/build/numpy/numpy/distutils/command/build_src.py", line 299, in build_library_sources
sources = self.generate_sources(sources, (lib_name, build_info))
File "/Users/bdhammel/Documents/research_programming/julia_env/build/numpy/numpy/distutils/command/build_src.py", line 386, in generate_sources
source = func(extension, build_dir)
File "numpy/core/setup.py", line 674, in get_mathlib_info
raise RuntimeError("Broken toolchain: cannot link a simple C program")
RuntimeError: Broken toolchain: cannot link a simple C program
python
numpy
virtualenv
pip
Ben
sumber
sumber
RuntimeError
baris tersebut, sehingga kita bisa melihat perintah mana yang gagal. Juga, apakah Anda menginstal melaluipip
atau dengan membangun sumber secara langsung?Jawaban:
Meskipun jelek, tampaknya berhasil
sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install --upgrade numpy
Perhatikan bahwa jika Anda mendapatkan kesalahan ini untuk paket selain numpy, (seperti lxml) tentukan nama paket itu dan bukan
numpy
di akhir perintah.Saya melihat masalah serupa yang dialami seseorang saat memasang permata
Instalasi Ruby Gem Json gagal pada Mavericks dan Xcode 5.1 - argumen tidak diketahui: '-multiply_definedsuppress'
Ini hanya perbaikan sementara, pada titik tertentu opsi kompilator harus diperbaiki
sumber
unused-command-line-argument-hard-error-in-future
masih diperlukan dengan Xcode terbaru di bawah Yosemite? Segalanya tampak berfungsi (setidaknya untuk paket yang saya lelah) tanpanya.Untuk Docker (Alpine) dan Python 3.x ini berhasil untuk saya:
sumber
apk update
pertama, jika tidak saya mendapatERROR: unsatisfiable constraints
pesan.gcc g++ make python3-dev
numpy / nmslib. Penyebab masalah khusus ini tampaknya adalah compiler c ++ yang hilangg++
(terlihat dari kesalahan yanggcc
danmake
sudah diinstal). Bagian penting lainnya darinumpy
build adalah header python3 yang disertakanpython3-dev
.Masalahnya adalah Anda tidak dapat mengkompilasi.
Pertama, pastikan Anda telah menerima Syarat dan Ketentuan baru dengan Xcode. Untuk melakukan ini, cukup buka xCode dan terima.
Kemudian, coba instal gcc dengan
Terakhir, coba instal Numpy dengan
Semoga ini membantu.
sumber
sudo xcode-select --switch /Library/Developer/CommandLineTools
(3)brew install gcc
(4)pip install numpy
Jika Anda tidak ingin menggunakan sudo (jadi izin dan hal-hal seperti itu dipertahankan saat menggunakan venv), Anda bisa menambahkan deklarasi ARCHFLAGS ke .bash_profile Anda, dan jalankan seperti biasa. Ini bekerja untuk saya dengan Mavericks dan Xcode 5.1 menggunakan dengan venv:
Dalam ~ / .bash_profile:
Kemudian, jalankan saja perintah:
sumber
sudo
atas adalah untuk instalasi seluruh sistem, dapat berjalan tanpa di virtualenvSaya hanya perlu membuka XCode dan menerima perjanjian dan membiarkannya menginstal alat. Saya kemudian kembali ke PyCharm dan menginstal numpy lagi tanpa masalah.
sumber
Jika Anda menjalankan distribusi linux, Anda mungkin memerlukan kompiler C, terutama jika Anda melihat baris log seperti
sh: gcc: command not found
. Anda dapat mengikuti petunjuknya di sini yang telah saya rangkum di bawah ini:Fedora, Red Hat, CentOS, atau Scientific Linux
# yum groupinstall 'Development Tools'
Debian atau Ubuntu Linux
$ sudo apt-get update $ sudo apt-get install build-essential manpages-dev
Kemudian Anda dapat mencoba menjalankan ulang:
sumber
Untuk pengguna fedora yang mengalami masalah serupa, coba instal paket berikut:
(jika tidak menggunakan python3 gunakan python-devel dan pip sebagai ganti pip3)
lalu coba
sumber
Dalam beberapa kasus setelah OS X meningkatkan XCode, XCode akan meminta pengguna (dengan hak administratif) untuk menerima lisensi baru. Hingga lisensi diterima, clang dan gcc akan mengeluarkan kesalahan saat mencoba mengkompilasi dan menautkan kode. Atau setidaknya paket python.
Jika Anda meluncurkan XCode dan menerima lisensinya, kesalahan tidak lagi muncul.
Setidaknya, inilah yang terjadi pada saya.
sumber
Ini berarti compiler C Anda tidak dapat ditemukan. Coba instal kompilator gcc jika penautan kompilator lain gagal.
sumber
Dalam kasus saya, ini terjadi selama pembuatan buruh pelabuhan. Masalahnya adalah bahwa gambar dasar tidak diperbaiki ke versi python tertentu dan numpy tidak dapat dikompilasi dengan yang baru.
FROM python:3-slim # BAD
Setelah saya mengubahnya menjadi yang berikut ini berhasil:
FROM python:3.8-slim # GOOD
Ingatlah untuk memperbaiki versi Anda! :-)
sumber
Di atas berfungsi untuk saya hanya setelah menginstal python3-dev.
sumber
Di Fedora 22, masalah ini diselesaikan dengan memperbarui pip itu sendiri:
sudo pip install --upgrade pip
sumber