ubuntu 16.04 LTS 中python3安装MySQL-python报错的最终解决办法!
首先描述一下问题:
1.为了做python3的Django项目,我需要在ubuntu中搭建 Python3-Django-MySQL5.7的开发环境
2.Django在python3环境中要连接MySQL需要数据库驱动
3.安装MySQL-python总是报错,具体内容如下:
(DjangoENV) warlock921@warlock921-code:~/下载$ pip install MySQL-python
Collecting MySQL-python
Using cached MySQL-python-1.2.5.zip
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-jvy1nkaj/MySQL-python/setup.py", line 13, in <module>
from setup_posix import get_config
File "/tmp/pip-build-jvy1nkaj/MySQL-python/setup_posix.py", line 2, in <module>
from ConfigParser import SafeConfigParser
ImportError: No module named 'ConfigParser'
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-jvy1nkaj/MySQL-python/
主要问题是出在:
from ConfigParser import SafeConfigParser
ImportError: No module named 'ConfigParser'
各种百度,都没有说清楚问题,这里就详述一下解决方案!
找到一篇国外的帖子解决了!
帖子连接:https://stackoverflow.com/questions/14087598/python-3-importerror-no-module-named-configparser
确实如其他很多帖子说的:
In Python 3, ConfigParser
has been renamed to configparser
for PEP 8 compliance. It looks like the package you are installing does not support Python 3.
解决办法:
You can instead use the mysqlclient
package as a drop-in replacement for MySQL-python. It is a fork of MySQL-python
with added support for Python 3.
I had luck with simply
pip3 install mysqlclient
Collecting mysqlclient
Downloading mysqlclient-1.3.12.tar.gz (89kB)
100% |████████████████████████████████| 92kB 23kB/s
Installing collected packages: mysqlclient
Running setup.py install for mysqlclient ... done
Successfully installed mysqlclient-1.3.12
终于没有了报错信息!
然后在python3 virtualenv环境中:
sudo apt-get install python3-dev libmysqlclient-dev
然后启动Django服务器,正常连接上了我MySQL
总结:主要就是因为MySQL-python这个包,在python3中已经不支持了,所以找寻替代方案,使用mysqlclient就行了,是不是很简单?