ubuntu 16.04 LTS 中python3安装MySQL-python报错的最终解决办法!

在ubuntu 16.04 LTS中搭建Python3 - Django - MySQL5.7开发环境时,安装MySQL - python报错。问题出在Python 3中模块名变更,原包不支持Python 3。最终找到替代方案,使用mysqlclient解决了报错问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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就行了,是不是很简单?

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值