Python 3.6环境下安装MySQLdb失败,Django项目启动报错求助
解决PyCharm启动Django项目时"No module named 'MySQLdb'"的问题
嘿,我来帮你搞定这个头疼的问题!其实核心原因很简单:MySQLdb这个包只支持Python2,完全不兼容Python3.6,所以你在PyCharm里搜不到它很正常,终端能运行说明你的终端环境已经装对了替代的驱动包,只是PyCharm这边没配置好或者没装对包而已。下面是具体的解决步骤:
第一步:确认PyCharm的Python解释器配置
终端能正常运行项目,说明你终端用的Python环境(尤其是虚拟环境)已经装好了正确的MySQL驱动,但PyCharm可能没使用这个环境:
- 打开PyCharm,点击顶部菜单栏的
File > Settings > Project: [你的项目名称] > Python Interpreter - 检查当前选中的解释器是不是你终端里用的那个(比如项目的虚拟环境python3.6),如果不是,点击右上角的齿轮图标,选择
Add,找到你项目的虚拟环境路径,切换过去。
第二步:安装Python3兼容的MySQL驱动包
别再找MySQLdb了,直接装下面两个官方推荐的替代包之一:
选项1:安装mysqlclient(Django官方推荐)
这是C语言实现的驱动,性能更好:
- 如果在PyCharm的包管理器里搜索
mysqlclient能找到,直接点击Install Package安装即可。 - 如果PyCharm安装失败,就打开终端,先激活你的项目虚拟环境,然后运行:
安装完成后回到PyCharm,重新运行项目即可。# Mac上如果安装报错,先装依赖 brew install mysql-connector-c # 再安装mysqlclient pip install mysqlclient
选项2:安装pymysql(纯Python实现,无需编译)
如果装mysqlclient遇到编译问题,可以试试这个:
- 在PyCharm的包管理器搜索
pymysql并安装,或者终端运行pip install pymysql。 - 安装完成后,在你Django项目的根目录下的
__init__.py文件里添加两行代码:
这样Django就会把pymysql当作MySQLdb来调用,完美兼容。import pymysql pymysql.install_as_MySQLdb()
第三步:解决"No module named 'ConfigParser'"的错误
你安装mysql包时出现这个错误,是因为这个mysql包是针对Python2的,它在找Python2里的ConfigParser模块,但Python3里这个模块改名叫configparser(全小写)了。直接放弃安装这个mysql包,用上面推荐的mysqlclient或pymysql就不会有这个问题。
按照上面的步骤操作,应该就能解决PyCharm里的报错啦!
内容的提问来源于stack exchange,提问作者Naveen Kumar
相关产品推荐
相关产品推荐

