mycli介绍及安装

Mycli介绍

Mycli是一个MySQL命令行客户端工具,是一个印度人基于python写的一个工具,其最先发布的版本是pgcli(PostgreSQL客户端)。那个时候我就下载使用过感觉还不错,当然安装过程也是出了很多问题,后来跟作者请教过才搞定(不要问我怎么沟通的,你懂的)。当时mycli还没有出来,国内都是使用MySQL大部分,当然就请愿尽快出MySQL的版本,相信还有很多其他人请愿。2015年底mycli终于出来了,几番尝试后也成功安装了mycli,也就有了下面的文章供参考。

mycli具有语法高亮以及自动完成键入SQL关键字及数据库列表显示,具体特性如下:

  • Mycli基于prompt_toolkit和python编写而来;

  • 自动完成键入 SQL关键字以及数据库列表;

  • 使用Pygments语法高亮显示;

  • Smart-completion(默认启用)上下文;

  • SELECT * FROM 只显示table名;

  • SELECT * FROM users WHERE 只显示column名;

  • 在配置文件中自动创建~/.pglirc

  • 支持tab自动补全


安装mycli

pip install mycli

如果出现如下警告

warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath.

centos下的解决办法:

yum install gmp-devel -y

出错信息

 src/MD2.c:31:20: error: Python.h: No such file or directory
    src/MD2.c:131: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    In file included from src/MD2.c:147:
    src/hash_template.c:48: error: expected specifier-qualifier-list before ‘PyObject_HEAD’
    src/hash_template.c:59: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘PyTypeObject’
    src/hash_template.c: In function ‘newALGobject’:
    src/hash_template.c:69: warning: implicit declaration of function ‘PyObject_New’
    src/hash_template.c:69: error: expected expression before ‘ALGobject’
    src/hash_template.c: At top level:
    src/hash_template.c:76: error: expected ‘)’ before ‘*’ token
    src/hash_template.c:91: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    src/hash_template.c:110: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    src/hash_template.c:122: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    src/hash_template.c:162: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    src/hash_template.c:188: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    src/hash_template.c:190: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ALG_methods’
    src/hash_template.c:199: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    src/hash_template.c:225: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ALGtype’
    src/hash_template.c:271: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    src/hash_template.c:304: error: array type has incomplete element type
    src/hash_template.c:305: error: ‘PyCFunction’ undeclared here (not in a function)
    src/hash_template.c:305: error: expected ‘}’ before ‘ALG_new’
    src/hash_template.c: In function ‘init_MD2’:
    src/hash_template.c:339: error: ‘PyObject’ undeclared (first use in this function)
    src/hash_template.c:339: error: (Each undeclared identifier is reported only once
    src/hash_template.c:339: error: for each function it appears in.)
    src/hash_template.c:339: error: ‘m’ undeclared (first use in this function)
    src/hash_template.c:351: error: ‘ALGtype’ undeclared (first use in this function)
    src/hash_template.c:351: error: ‘PyType_Type’ undeclared (first use in this function)
    src/hash_template.c:352: warning: implicit declaration of function ‘Py_InitModule’
    src/hash_template.c:356: error: ‘o’ undeclared (first use in this function)
    src/hash_template.c:356: warning: implicit declaration of function ‘PyInt_FromLong’
    src/hash_template.c:356: warning: implicit declaration of function ‘PyDict_SetItemString’
    src/hash_template.c:356: warning: implicit declaration of function ‘PyModule_GetDict’
    src/hash_template.c:356: warning: implicit declaration of function ‘Py_DECREF’
    src/hash_template.c:360: warning: implicit declaration of function ‘PyErr_Occurred’
    src/hash_template.c:361: warning: implicit declaration of function ‘Py_FatalError’
    error: command 'gcc' failed with exit status 1

    ----------------------------------------
  Rolling back uninstall of pycrypto
Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-5qio8g/pycrypto/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-qRQy4P-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-5qio8g/pycrypto/

解决办法:

yum install python-devel -y

参考文章:
http://www.ywnds.com/?p=2840
http://www.linuser.com/thread-1378-1-1.html

你可能感兴趣的:(mycli介绍及安装)