MacOs安装python3的mysqlclient组件支持django运行
MacOs安装python3后启动django的网站,提示mysqlclient组件不存在,直接安装又出错,仲么办呢?
今日闲来无事,增加硬盘1T,苹果安装不利,Django出错生气。
1 2 3 4 5 6 | django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb' Error loading MySQLdb module. Did you install mysqlclient? |
记得以前为了这个问题题折腾了好久,今天把解决过程写下,终于搞清了这个问题。
这个问题主要是版本不兼容的问题,其实存在两个问题:
1、MySqldb与mysqlclient问题。这两个东东都是Django官方支持的用于python的mysql的驱动,网上的关于MySqldb的组件的90%的说法是不正确或是过时的:“MySqldb不支持python3必须要使用pymysql来替代” 。mysqlclient就是从MySqldb改进而来完全支持Python3,如果你是window或是Linux按照下面的网址教程安装完毕就好可以使用了。
https://github.com/PyMySQL/mysqlclient-python
2、MacOS 的特殊性。 在MacOS系统当中brew安装很费事,要折腾很多,并且有众多的组件安装方法与Linux又不同。
两个解决方案:
方案一、替代方案
具体原理就是:使用pymysql组件(这个组件可以支持python3),替代django中的mysqlclient。
把原生的Oracle的组件,换成pymysql,后效率可能会下降。
1、使用如下的命令行安装PyMySQL
2、在项目的setting.py同级的 init.py 文件中添加以下代码即可。
1 2 | import pymysql pymysql.install_as_MySQLdb() |
方案二、安装mysqlclient
在MacOS安装mysqlclient可麻烦了,下面是简要的步骤:
1、 安装xcode
在App Store中找到Xcode并安装它,直到出现这个图标,打开同意即可:

然后在终端中运行:
1 | xcode - select - - install |
2、安装brew。
很多mysqlclient需要的组件都必须从brew中安装,由于国外的镜像很慢,建议从国内中科大的镜像安装。
2.1 官网安装Homebrew(不推荐)
官网网址:https://brew.sh/
1 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" |
由于特别原因安装的速度可能会断,建议搭配使用一些外网互联上网工具进行安装。
2.2 国内镜像安装(推荐)
(1) 获取install文件
获取官网脚本并保存名为 brew_install
(这一步也需一点点技术手段进行互联上网):
https://raw.githubusercontent.com/Homebrew/install/master/install
(2)替换成清华大学的镜像
打开 brew_install 文件,修改如下:
找到如下代码:
1 2 | BREW_REPO = “https: //github .com /Homebrew/brew “.freeze CORE_TAP_REPO = “https: //github .com /Homebrew/homebrew-core “.freeze |
更改为:
1 2 | BREW_REPO = “https: //mirrors .ustc.edu.cn /brew .git “.freeze CORE_TAP_REPO = “https: //mirrors .ustc.edu.cn /homebrew-core .git“.freeze |
注意: 新版本HomeBrew可能没有CORE_TAP_REPO
这句代码,如果没有不用新增。 如果这个镜像有问题的话,可以换成其他源。
(3)执行脚本
打开终端允许脚本
1 | /usr/bin/ruby brew_install |

如果走运,全部安装完了,就进行下一步(4)。
如果此时脚本停在
==> Tapping homebrew/core
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core'...
出现这个原因是因为源不通,代码来不下来,解决方法就是更换国内镜像源:
手动执行下面这句命令,更换为中科院的镜像:
1 | git clone git: //mirrors .ustc.edu.cn /homebrew-core .git/ /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core --depth=1 |
然后把homebrew-core的镜像地址也设为中科院的国内镜像
1 2 3 4 5 6 7 | cd "$(brew --repo)" git remote set -url origin https: //mirrors .ustc.edu.cn /brew .git cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core" git remote set -url origin https: //mirrors .ustc.edu.cn /homebrew-core .git |
执行更新,成功:
1 | brew update |
最后用这个命令检查无错误:
1 | brew doctor |
至此HomeBrew就安装完成了。
(4)更改默认源
直接使用 Homebrew 还需要更改默认源。以下是将默认源替换为国内 USTC 源的方法。 如下:
替换仓库核心软件
1 2 | cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core" git remote set -url origin https: //mirrors .ustc.edu.cn /homebrew-core .git |
替换 cask 软件仓库(提供 macOS 应用和大型二进制文件)
1 2 | cd "$(brew --repo)" /Library/Taps/caskroom/homebrew-cask git remote set -url origin https: //mirrors .ustc.edu.cn /homebrew-cask .git |
替换 Bottles 源(Homebrew 预编译二进制软件包)
bash(默认 shell)用户:
1 2 | echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile source ~/.bash_profile |
(6) brew常用命令

先安装gcc组件:
1 | brew install gcc |
安装完毕后,再安装
1 | brew install openssl |
并且下面要把环变量设置好,方便python3找到。否则会出现下面的错误:
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'gcc' failed with exit status 1
/private/var/folders/by/c1t20gqd2b3crsh5v7x1gfh80000gn/T/pip-install-unlf6wgo/mysqlclient/
在
这命令行中这么设置环境:
1 2 | export LDFLAGS= "-L/usr/local/opt/openssl/lib" export CPPFLAGS= "-I/usr/local/opt/openssl/include" |
最后可以放心地安装:
1 | python3 -m pip install mysqlclient |
真搞不定,使用方案一,也能用。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
2007-03-16 SharePoint WebPart:扩展SharePoint 2007中图片展示功能