无法将Django 1.10连接到MySQL 5.7:已装mysqlclient仍报MySQLdb导入错误
解决Django启动时提示
ImportError: No module named 'MySQLdb'的问题 我在Windows+PyCharm环境下碰到过好几个类似的情况,给你几个排查和解决的方向:
确认PyCharm运行配置使用的是目标虚拟环境
很多时候我们手动激活了虚拟环境,但PyCharm的运行配置还停留在系统默认Python或者其他虚拟环境里。你可以这么检查:- 打开PyCharm的「Run」→「Edit Configurations」
- 在弹出窗口里找到Django开发服务器的配置项
- 查看「Python interpreter」选项,确认它指向你创建的Python3.5虚拟环境的
python.exe - 如果不对,点击下拉框选择对应的虚拟环境,没有的话可以点击「Show All」手动添加虚拟环境的路径
重新安装mysqlclient并确保依赖完整
Windows下安装mysqlclient需要依赖Visual C++ Build Tools 2015(适配Python3.5),如果安装过程中有警告或隐性失败,可能会出现shell能导入但Django找不到的情况。你可以这么操作:- 激活虚拟环境,执行卸载命令:
pip uninstall mysqlclient - 确保已经安装了Visual C++ Build Tools 2015(如果没装,先去微软官网下载安装)
- 重新安装:
pip install mysqlclient,安装过程中留意有没有报错信息
- 激活虚拟环境,执行卸载命令:
检查Django数据库配置是否正确
确保settings.py里的数据库引擎配置是Django1.10支持的格式:DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '你的数据库名', 'USER': '数据库用户名', 'PASSWORD': '数据库密码', 'HOST': 'localhost', 'PORT': '3306', } }不要使用旧的
mysql引擎标识,必须明确写django.db.backends.mysql验证虚拟环境依赖完整性
激活虚拟环境后执行pip list,确认mysqlclient出现在依赖列表中,且版本兼容(比如0.9.x版本适配Python3.5和Django1.10)。如果不在列表里,说明之前的安装没有成功作用在虚拟环境中,需要重新安装。
内容的提问来源于stack exchange,提问作者r_zelazny
相关产品推荐
相关产品推荐

