今天学习 Flask 过程中,在使用数据库部分,出现了 ImportError: No module named MySQLdb 错误,经搜索,导致该问题的原因是 Python-MySQLdb 模块未安装或者版本不正确。检查后发现,我在系统中是使用 apt-get 方式安装的,应该是版本的问题,所以使用 sudo apt-get remove python-mysqldb -y 来卸载掉。
然后提示的步骤:
1.使用 wget http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz 获取安装包;
2.使用 tar zxvf MySQL-python-1.2.3.tar.gz 解压;
3.使用 python setup.py build build;
4.使用 python setup.py install 安装。
在第3步时,又报出一个错误:EnvironmentError: mysql_config not found,使用搜索命令搜索 sudo find / -name mysql_config,但没有任何返回。经搜索,原因在于* Ubuntu 下如果使用 apt-get 安装了 MySQL,那么是不自动带有 mysql_config 文件*。
这时候运行 sudo apt-get install libmysqld-dev 安装好 MySQL 的开发包后,再次查找,就会看到终端返回 /usr/bin/mysql-config。
拷贝这个路径,编辑 setup_posix.py 和 site.cfg 两个文件,将 mysql_config 对应值修改为之前查找到的文件的全路径,保存后,再次运行 python setup.py build,已经没有问题。
接着,在 build 完成后,进行第4步,又报出很多奇怪的错误,根据网上前人的经验,应该安装 python-dev 库: sudo apt-get install python-dev,然后再运行之前的命令,记得加上 sudo。
这样以来,MySQL-python就算是安装完成了。