2014-05-09 24 views
6

Tôi đã thử vô số giải pháp tại thời điểm này và không có gì có vẻ hoạt động. Tôi đang cố gắng để cài đặt mysql-python, nhưng điều này xảy ra với NumPy và các gói khác cần gcc cũng như:pip tăng stdio.h không tìm thấy lỗi trên Mac OS X Mavericks (10.9)

building '_mysql' extension 

gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -isysroot /Developer/SDKs/MacOSX10.6.sdk -g -O2 -DNDEBUG -g -O3 -Dversion_info=(1,2,5,'final',1) -D__version__=1.2.5 -I/usr/local/mysql/include -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c _mysql.c -o build/temp.macosx-10.6-intel-2.7/_mysql.o -Os -g -fno-strict-aliasing -arch x86_64 

In file included from _mysql.c:29: 

/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h:33:10: fatal error: 'stdio.h' file not found 

#include <stdio.h> 

     ^

1 error generated. 

error: command 'gcc-4.2' failed with exit status 1 

Để chỉ:

Tôi đã cài đặt các công cụ dòng lệnh

gia tăng liên kết tượng trưng từ/usr/bin/gcc để /usr/bin/gcc-4.2

gcc-4.2 --version 
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 
Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn) 
Target: x86_64-apple-darwin13.1.0 
Thread model: posix 

tạo một file c giả, biên soạn thành công, và chạy nó, vì vậy gcc bản thân là tốt

$ cat a.c 
#include <stdio.h> 

main() 
{ 
    printf("hello\n"); 
} 

$ gcc-4.2 a.c 
a.c:3:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] 
main() 
^~~~ 
1 warning generated. 

$ ./a.out 
hello 

Và đối với biện pháp tốt,

$ xcode-select -p 
/Library/Developer/CommandLineTools 

gì đang xảy ra ?!

EDIT - Quên bao gồm python phiên bản

$ python 
Python 2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 15:22:34) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin 

EDIT - phát triển thú vị. Thiết các biến này làm cho một số tiến bộ:

$ export CFLAGS="-arch i386 -arch x86_64" 
$ export FFLAGS="-m32 -m64" 
$ export LDFLAGS="-Wall -undefined dynamic_lookup -bundle -arch i386 -arch x86_64" 
$ export CC=gcc-4.2 
$ export CXX="g++ -arch i386 -arch x86_64" 

Tuy nhiên nó không thành công một lần nữa tại

gcc-4.2 -bundle -undefined dynamic_lookup -isysroot /Developer/SDKs/MacOSX10.6.sdk -isysroot /Developer/SDKs/MacOSX10.6.sdk -g -Wall -undefined dynamic_lookup -bundle build/temp.macosx-10.6-intel-2.7/_mysql.o -L/usr/local/mysql/lib -lmysqlclient_r -o build/lib.macosx-10.6-intel-2.7/_mysql.so -arch x86_64 

ld: library not found for -lSystem 

clang: error: linker command failed with exit code 1 (use -v to see invocation) 

error: command 'gcc-4.2' failed with exit status 1 

tôi nghi ngờ đó là một lỗi tương tự có để làm với các công cụ lệnh. Ngoài ra, tại sao nó sử dụng "/Developer/SDKs/MacOSX10.6.sdk"? (Xin lỗi các câu hỏi noob, tôi đang cố gắng để di chuyển từ vim/unix để pycharm/mac và nó sẽ không rất tốt cho đến nay :()

+0

Có lý do nào bạn đang sử dụng 2.7.2 không? Tôi nghĩ 10,9 vận chuyển với 2,7,4.? Bạn đã pha cài đặt python chưa? – wegry

+1

Tôi đã nâng cấp từ Snow Leopard, tôi đoán Mavericks đã không thực sự nâng cấp Python? Tôi chưa cài đặt nó theo cách thủ công. – beans

+2

Tôi sẽ thử cài đặt brew. Và sau đó làm một python cài đặt brew. Nó sẽ cài đặt pip. Nó cũng sẽ cho bạn biết nếu các công cụ dòng lệnh của bạn đã lỗi thời và giúp bạn thực hiện điều đó. Hy vọng rằng nó sẽ làm cho mọi thứ ít đá trên OS X. – wegry

Trả lời

3

Như @wegry nêu above--

brew install python 

xác nhận với

$ which python 
/usr/local/homebrew/bin/python 

chỉ cần thực hiện này hoàn toàn biến mất. cài đặt thành công numPy và mysql-python với pip!

2

này làm việc cho tôi

xcode-select --install 
Các vấn đề liên quan