MacOs 安装mysqlclient报错-解决方法

报错信息

Using cached https://pypi.tuna.tsinghua.edu.cn/packages/de/79/d02be3cb942afda6c99ca207858847572e38146eb73a7c4bfe3bdf154626/mysqlclient-2.1.0.tar.gz (87 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [16 lines of output]
      /bin/sh: mysql_config: command not found
      /bin/sh: mariadb_config: command not found
      /bin/sh: mysql_config: command not found
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/private/var/folders/r9/zck2_0c90rl1r0jyd9_n19cw0000gn/T/pip-install-oc9_ygao/mysqlclient_101e45eac4fc4811b11bf68486dfacfe/setup.py", line 15, in <module>
          metadata, options = get_config()
        File "/private/var/folders/r9/zck2_0c90rl1r0jyd9_n19cw0000gn/T/pip-install-oc9_ygao/mysqlclient_101e45eac4fc4811b11bf68486dfacfe/setup_posix.py", line 70, in get_config
          libs = mysql_config("libs")
        File "/private/var/folders/r9/zck2_0c90rl1r0jyd9_n19cw0000gn/T/pip-install-oc9_ygao/mysqlclient_101e45eac4fc4811b11bf68486dfacfe/setup_posix.py", line 31, in mysql_config
          raise OSError("{} not found".format(_mysql_config_path))
      OSError: mysql_config not found
      mysql_config --version
      mariadb_config --version
      mysql_config --libs
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

原因分析:

安装mysqlclient依赖mysql-client,所以安装mysqlclient前需要安装mysql

操作步骤

1.安装mysql-client

$ brew install mysql-client

2.配置路径

$ echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.bash_profile
$ export PATH="/usr/local/opt/mysql-client/bin:$PATH"

3.再次安装 

$ pip install mysqlclient

 

安装成功,最新版本为2.2.1 

### 解决 `pip install mysqlclient` 在 Django 中的报错问题 #### 使用 PyMySQL 替代 MySQLClient 对于 Ubuntu 系统,在遇到安装 `mysqlclient` 的困难时,可以考虑使用 `PyMySQL` 来替代。通过简单的配置修改即可实现与 MySQL 数据库的成功连接。 首先,确保已成功安装 `PyMySQL` 库: ```bash pip3 install pymysql ``` 接着,需对 Django 项目做如下调整:打开项目的根目录下的 `__init__.py` 文件并加入以下两行代码来注册 `PyMySQL`: ```python import pymysql pymysql.install_as_MySQLdb() ``` 此方法绕过了直接依赖于 `mysqlclient` 所带来的复杂性,并能有效解决问题[^1]。 #### Windows 下获取预编译二进制包 针对 Windows 用户而言,当尝试通过官方渠道安装 `mysqlclient` 遇到兼容性或其他技术难题时,可以从第三方资源下载适用于 Python 版本(如Python 3.7)的 wheel 文件。具体操作是从指定网站找到匹配版本的 `.whl` 文件后利用 pip 工具完成本地安装[^2]: 访问 [Unofficial Windows Binaries for Python Extension Packages](http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient),挑选适合当前环境设置的文件进行下载,之后执行类似下面这样的命令来进行安装: ```bash pip install 路径\至\下载好的.whl文件 ``` 这种方法能够避开因缺少必要的构建工具而导致的错误情况发生。 #### 安装 MySQL 开发库 有时 `pip install mysqlclient` 失败可能是由于缺失 MySQL C API 或其他开发组件造成的。为了防止此类情形的发生,建议先确认已经正确设置了 MySQL 开发环境。例如在 Linux 上可以通过 apt-get 命令安装这些必需品;而在 macOS 则可通过 Homebrew 实现相同目的。这一步骤有助于提供给 `mysqlclient` 编译所需的基础支持材料[^4].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值