一、前言
在CentOS 上安装fabric时出现问题,首先已安装pip, 用pip执行以下命令pip install
出现以下问题
[niy@niy-computer /]$ sudo pip install fabric Requirement already satisfied (use --upgrade to upgrade): fabric in /usr/lib/python2.6/site-packages/Fabric-1.3.1-py2.6.egg Requirement already satisfied (use --upgrade to upgrade): ssh>=1.7.8 in /usr/lib/python2.6/site-packages/ssh-1.8.0-py2.6.egg (from fabric) Downloading/unpacking pycrypto>=2.1,!=2.4 (from ssh>=1.7.8->fabric) Running setup.py egg_info for package pycrypto Installing collected packages: pycrypto Found existing installation: pycrypto 2.0.1 Uninstalling pycrypto: Successfully uninstalled pycrypto Running setup.py install for pycrypto warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath. building 'Crypto.Hash._MD2' extension gcc -pthread -fno-strict-aliasing -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -fPIC -std=c99 -O3 -fomit-frame-pointer -Isrc/ -I/usr/include/python2.6 -c src/MD2.c -o build/temp.linux-i686-2.6/src/MD2.o src/MD2.c:31:20: 错误:Python.h:没有那个文件或目录 src/MD2.c:131: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token In file included from src/MD2.c:147: src/hash_template.c:48: 错误:expected specifier-qualifier-list before ‘PyObject_HEAD’ src/hash_template.c:59: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘PyTypeObject’ src/hash_template.c: 在函数‘newALGobject’中: src/hash_template.c:69: 警告:隐式声明函数‘PyObject_New’ src/hash_template.c:69: 错误:expected expression before ‘ALGobject’ src/hash_template.c: 在文件层: src/hash_template.c:76: 错误:expected ‘)’ before ‘*’ token src/hash_template.c:91: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token src/hash_template.c:110: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token src/hash_template.c:122: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token src/hash_template.c:162: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token src/hash_template.c:188: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token src/hash_template.c:190: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ALG_methods’ src/hash_template.c:199: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token src/hash_template.c:225: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ALGtype’ src/hash_template.c:271: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token src/hash_template.c:304: 错误:数组元素的类型不完全 src/hash_template.c:305: 错误:‘PyCFunction’未声明(不在函数内) src/hash_template.c:305: 错误:expected ‘}’ before ‘ALG_new’ src/hash_template.c: 在函数‘init_MD2’中: src/hash_template.c:339: 错误:‘PyObject’未声明(在此函数内第一次使用) src/hash_template.c:339: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其 src/hash_template.c:339: 错误:所在的函数内也只报告一次。) src/hash_template.c:339: 错误:‘m’未声明(在此函数内第一次使用) src/hash_template.c:351: 错误:‘ALGtype’未声明(在此函数内第一次使用) src/hash_template.c:351: 错误:‘PyType_Type’未声明(在此函数内第一次使用) src/hash_template.c:352: 警告:隐式声明函数‘Py_InitModule’ src/hash_template.c:356: 错误:‘o’未声明(在此函数内第一次使用) src/hash_template.c:356: 警告:隐式声明函数‘PyInt_FromLong’ src/hash_template.c:356: 警告:隐式声明函数‘PyDict_SetItemString’ src/hash_template.c:356: 警告:隐式声明函数‘PyModule_GetDict’ src/hash_template.c:356: 警告:隐式声明函数‘Py_DECREF’ src/hash_template.c:360: 警告:隐式声明函数‘PyErr_Occurred’ src/hash_template.c:361: 警告:隐式声明函数‘Py_FatalError’ error: command 'gcc' failed with exit status 1 Complete output from command /usr/bin/python -c "import setuptools;__file__='/tmp/pip-build-root/pycrypto/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-Ai6cQR-record/install-record.txt --single-version-externally-managed: running install running build running build_py running build_ext running build_configure warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath. building 'Crypto.Hash._MD2' extension gcc -pthread -fno-strict-aliasing -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -fPIC -std=c99 -O3 -fomit-frame-pointer -Isrc/ -I/usr/include/python2.6 -c src/MD2.c -o build/temp.linux-i686-2.6/src/MD2.o src/MD2.c:31:20: 错误:Python.h:没有那个文件或目录 src/MD2.c:131: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token In file included from src/MD2.c:147: src/hash_template.c:48: 错误:expected specifier-qualifier-list before ‘PyObject_HEAD’ src/hash_template.c:59: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘PyTypeObject’ src/hash_template.c: 在函数‘newALGobject’中: src/hash_template.c:69: 警告:隐式声明函数‘PyObject_New’ src/hash_template.c:69: 错误:expected expression before ‘ALGobject’ src/hash_template.c: 在文件层: src/hash_template.c:76: 错误:expected ‘)’ before ‘*’ token src/hash_template.c:91: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token src/hash_template.c:110: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token src/hash_template.c:122: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token src/hash_template.c:162: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token src/hash_template.c:188: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token src/hash_template.c:190: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ALG_methods’ src/hash_template.c:199: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token src/hash_template.c:225: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ALGtype’ src/hash_template.c:271: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token src/hash_template.c:304: 错误:数组元素的类型不完全 src/hash_template.c:305: 错误:‘PyCFunction’未声明(不在函数内) src/hash_template.c:305: 错误:expected ‘}’ before ‘ALG_new’ src/hash_template.c: 在函数‘init_MD2’中: src/hash_template.c:339: 错误:‘PyObject’未声明(在此函数内第一次使用) src/hash_template.c:339: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其 src/hash_template.c:339: 错误:所在的函数内也只报告一次。) src/hash_template.c:339: 错误:‘m’未声明(在此函数内第一次使用) src/hash_template.c:351: 错误:‘ALGtype’未声明(在此函数内第一次使用) src/hash_template.c:351: 错误:‘PyType_Type’未声明(在此函数内第一次使用) src/hash_template.c:352: 警告:隐式声明函数‘Py_InitModule’ src/hash_template.c:356: 错误:‘o’未声明(在此函数内第一次使用) src/hash_template.c:356: 警告:隐式声明函数‘PyInt_FromLong’ src/hash_template.c:356: 警告:隐式声明函数‘PyDict_SetItemString’ src/hash_template.c:356: 警告:隐式声明函数‘PyModule_GetDict’ src/hash_template.c:356: 警告:隐式声明函数‘Py_DECREF’ src/hash_template.c:360: 警告:隐式声明函数‘PyErr_Occurred’ src/hash_template.c:361: 警告:隐式声明函数‘Py_FatalError’ error: command 'gcc' failed with exit status 1 ---------------------------------------- Rolling back uninstall of pycrypto Command /usr/bin/python -c "import setuptools;__file__='/tmp/pip-build-root/pycrypto/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-Ai6cQR-record/install-record.txt --single-version-externally-managed failed with error code 1 in /tmp/pip-build-root/pycrypto Storing complete log in /root/.pip/pip.log
二 解决方案
原因是少了python的dev
[niy@niy-computer /]$ sudo yum install python-devel