Ubuntu下安装MySQL-python模块遇到的问题及解决方法

今天把工作台转移到ubuntu上面,因为之前用win开发的时候用的一直都是 sqlite,这货,个人认为 不太好用,先不说它为啥不好用,先来说说今天遇到的问题吧,Python – Flask + Mysql

Error: No module named MySQLdb

在 安装各种依赖的时候 ,出现了这么一个错误

俺 无意识的就直接 pip install MySQLdb ,但是很不幸,并没有,于是 pip install MySQL-python,

(env)xxx@xxx:~/xxx$ pip install MySQL-python
Collecting MySQL-python

  Downloading MySQL-python-1.2.5.zip (108kB)
    100% |████████████████████████████████| 112kB 15kB/s 
    Complete output from command python setup.py egg_info:
    sh: 1: mysql_config: not found
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-ezVWsX/MySQL-python/setup.py", line 17, in <module>
        metadata, options = get_config()
      File "setup_posix.py", line 43, in get_config
        libs = mysql_config("libs_r")
      File "setup_posix.py", line 25, in mysql_config
        raise EnvironmentError("%s not found" % (mysql_config.path,))
    EnvironmentError: mysql_config not found

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-ezVWsX/MySQL-python/

很不幸提示找不到 mysql_config这个配置文件,于是俺 find 了一下 mysql_config,看看有没有这个文件

$ sudo find / -name mysql_config
$ 

没有任何结果数据,于是问题貌似就很明显了,Google了一下,看到有人说是

使用apt-get安装的MySQL是没有mysql_config这个文件的

简单回忆了一下,好像确实是这样,于是俺 准备重新装一下sudo apt-get install libmysqld-dev:

然后再find一下,果然

$ sudo find / -name mysql_config
/usr/bin/mysql_config

然后重新pip 安装一下就ok,

看到也有很多网友用源码安装的时候也是出现这个问题,于是俺也照着做了一遍,

$ wget http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz
$ tar zxvf MySQL-python-1.2.3.tar.gz
$ cd MySQL-python-1.2.3/

再到 MySQL-python-1.2.3下面 把 setup_posix.py 和 site.cfg 两个文件里的 mysql_config 对应值修改为/usr/bin/mysql_config ,保存后,再次运行 python setup.py build 就OK 。

$ python setup.py build build
$ python setup.py install 

这样以来,MySQLdb 的问题 就完美解决了 。

标签:PythonUbuntuMySQL 发布于:2019-11-14 01:25:51