2016-02-21 2 views
0

Я хочу использовать python для crud rrd, но когда я был pip install python-rrdtool. Предупреждение:python-rrdtool-1.4.7 установить на Mac OS X El Capitan

➜ python-rrdtool-1.4.7 sudo python setup.py install 
Password: 
running install 
running build 
running build_ext 
running build_configure 
building 'rrdtoolmodule' extension 
cc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -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 -Irrdtool-1.4.7/src -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c rrdtool-1.4.7/bindings/python/rrdtoolmodule.c -o build/temp.macosx-10.11-intel-2.7/rrdtool-1.4.7/bindings/python/rrdtoolmodule.o 
rrdtool-1.4.7/bindings/python/rrdtoolmodule.c:69:18: warning: implicit conversion loses integer precision: 'Py_ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 
    args_count = PyTuple_Size(args); 
       ~ ^~~~~~~~~~~~~~~~~~ 
rrdtool-1.4.7/bindings/python/rrdtoolmodule.c:375:15: warning: implicit conversion loses integer precision: 'time_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 
    if ((ts = rrd_first(argc, argv)) == -1) { 
      ~ ^~~~~~~~~~~~~~~~~~~~~ 
rrdtool-1.4.7/bindings/python/rrdtoolmodule.c:400:15: warning: implicit conversion loses integer precision: 'time_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 
    if ((ts = rrd_last(argc, argv)) == -1) { 
      ~ ^~~~~~~~~~~~~~~~~~~~ 
3 warnings generated. 
In file included from rrdtool-1.4.7/bindings/python/rrdtoolmodule.c:44: 
In file included from /System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h:8: 
/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/pyconfig.h:1062:9: warning: 'SIZEOF_TIME_T' macro redefined [-Wmacro-redefined] 
#define SIZEOF_TIME_T 4 
     ^
rrdtool-1.4.7/bindings/python/../../rrd_config.h:357:9: note: previous definition is here 
#define SIZEOF_TIME_T 8 
     ^
1 warning generated. 
cc -bundle -undefined dynamic_lookup -arch x86_64 -arch i386 -Wl,-F. build/temp.macosx-10.11-intel-2.7/rrdtool-1.4.7/bindings/python/rrdtoolmodule.o -Lrrdtool-1.4.7/src/.libs -lrrd -o build/lib.macosx-10.11-intel-2.7/rrdtoolmodule.so 
ld: warning: directory not found for option '-Lrrdtool-1.4.7/src/.libs' 
ld: library not found for -lrrd 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
error: command 'cc' failed with exit status 1 

Я пробовал много раз, кто может мне сказать?

+1

Оказывается, он ищет библиотеку RRD, которая требует RRDtool были построены и установленный первым. Вы пробовали 'brew install rrdtool'? Я считаю, что он должен установить rrd и привязки python вместе. Если вы не хотите использовать 'brew', тогда вы можете сначала создать исходный код, а затем запустить указанную команду pip. –

+0

Это работает. Большое спасибо. –

ответ

0

Я решил эту проблему, с предложениями @Stephen Ingram.

1.Install RRDtool (с brew install rrdtool)

2.check cairo、pango

3.run python setup.py install

➜ python-rrdtool-1.4.7 sudo python setup.py install 
running install 
running build 
running build_ext 
running build_configure 
building 'rrdtoolmodule' extension 
cc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -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 -Irrdtool-1.4.7/src -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c rrdtool-1.4.7/bindings/python/rrdtoolmodule.c -o build/temp.macosx-10.11-intel-2.7/rrdtool-1.4.7/bindings/python/rrdtoolmodule.o 
rrdtool-1.4.7/bindings/python/rrdtoolmodule.c:69:18: warning: implicit conversion loses integer precision: 'Py_ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 
    args_count = PyTuple_Size(args); 
       ~ ^~~~~~~~~~~~~~~~~~ 
rrdtool-1.4.7/bindings/python/rrdtoolmodule.c:375:15: warning: implicit conversion loses integer precision: 'time_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 
    if ((ts = rrd_first(argc, argv)) == -1) { 
      ~ ^~~~~~~~~~~~~~~~~~~~~ 
rrdtool-1.4.7/bindings/python/rrdtoolmodule.c:400:15: warning: implicit conversion loses integer precision: 'time_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 
    if ((ts = rrd_last(argc, argv)) == -1) { 
      ~ ^~~~~~~~~~~~~~~~~~~~ 
3 warnings generated. 
In file included from rrdtool-1.4.7/bindings/python/rrdtoolmodule.c:44: 
In file included from /System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h:8: 
/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/pyconfig.h:1062:9: warning: 'SIZEOF_TIME_T' macro redefined [-Wmacro-redefined] 
#define SIZEOF_TIME_T 4 
     ^
rrdtool-1.4.7/bindings/python/../../rrd_config.h:357:9: note: previous definition is here 
#define SIZEOF_TIME_T 8 
     ^
1 warning generated. 
cc -bundle -undefined dynamic_lookup -arch x86_64 -arch i386 -Wl,-F. build/temp.macosx-10.11-intel-2.7/rrdtool-1.4.7/bindings/python/rrdtoolmodule.o -Lrrdtool-1.4.7/src/.libs -lrrd -o build/lib.macosx-10.11-intel-2.7/rrdtoolmodule.so 
ld: warning: directory not found for option '-Lrrdtool-1.4.7/src/.libs' 
ld: warning: directory not found for option '-Lrrdtool-1.4.7/src/.libs' 
ld: warning: ignoring file /usr/local/lib/librrd.dylib, file was built for x86_64 which is not the architecture being linked (i386): /usr/local/lib/librrd.dylib 
running install_lib 
copying build/lib.macosx-10.11-intel-2.7/rrdtoolmodule.so -> /Library/Python/2.7/site-packages 
running install_egg_info 
Writing /Library/Python/2.7/site-packages/python_rrdtool-1.4.7-py2.7.egg-info 
+0

проверьте! 'import rrdtool' –

Смежные вопросы