今天学习 Flask 过程中,在使用数据库部分,出现了 ImportError: No module named MySQLdb
错误,经搜索,导致该问题的原因是 python-MySQLdb
模块未安装或者版本不正确。检查后发现,我在系统中是使用 apt-get
方式安装的,应该是版本的问题,所以使用 sudo apt-get remove python-mysqldb -y
来卸载掉。
然后根据帖子提示的步骤:
- 使用
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
解压; - 使用
python setup.py build
build; - 使用 sudo
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
就算是安装完成了。