安装mysqlclient报错 /bin/sh: mysql_config: command not found /bin/sh: mariadb_config: command not

在MacOSVentura13.0系统中,用户遇到了安装mysqlclient时因mysql_config和mariadb_config命令未找到的错误。通过查找,发现mysql_config文件位于/usr/local/mysql-8.0.32-macos13-x86_64/bin目录下。为解决这个问题,用户更新了zshshell的环境变量,在~/.zprofile文件中添加了路径,并通过source~/.zprofile使更改生效。随后,mysqlclient通过pip成功安装。

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

报错记录

Looking in indexes: https://pypi.douban.com/simple/
Collecting mysqlclient
  Using cached https://pypi.doubanio.com/packages/50/5f/eac919b88b9df39bbe4a855f136d58f80d191cfea34a3dcf96bf5d8ace0a/mysqlclient-2.1.1.tar.gz (88 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [18 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/jn/2ypp3lsn0msc_zx6lljzd6qr0000gn/T/pip-install-68skmfpn/mysqlclient_c52b6bfd1d63422185f0b76b9fa09f9d/setup.py", line 15, in <module>
          metadata, options = get_config()
                              ^^^^^^^^^^^^
        File "/private/var/folders/jn/2ypp3lsn0msc_zx6lljzd6qr0000gn/T/pip-install-68skmfpn/mysqlclient_c52b6bfd1d63422185f0b76b9fa09f9d/setup_posix.py", line 70, in get_config
          libs = mysql_config("libs")
                 ^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/jn/2ypp3lsn0msc_zx6lljzd6qr0000gn/T/pip-install-68skmfpn/mysqlclient_c52b6bfd1d63422185f0b76b9fa09f9d/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.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
 

根据下方这两条报错信息去解决:

/bin/sh: mysql_config: command not found

/bin/sh: mariadb_config: command not

无意中看到我现在的mysql_config文件在/usr/local/mysql-8.0.32-macos13-x86_64/bin目录下。

 解决办法:

目前

电脑版本:MacOS Ventura 13.0

python 3.11.3

MySQL:8.0.32

配置一下环境变量(我是小白,不太懂,最后安装成功了就好了)

zsh Shell修改配置文件(应该是叫配置文件吧)

sudo vim ~/.zprofile

——————

大佬的文章很有用

https://www.jianshu.com/p/273f0bc0f9d7

https://www.cnblogs.com/menglx/p/12858787.html

下方截图,红框内是我新配置的路经

 ESC退出,shift键+Z Z保存并退出文件。

使环境变量生效.↓↓↓↓↓↓↓

source ~/.zprofile

查看变量是否生效

echo $PATH 

 使用pip 安装 mysqlclient ,安装成功 

(myenv) root@ubuntu24:~# pip3 install mysqlclient Looking in indexes: https://mirrors.aliyun.com/pypi/simple/ Collecting mysqlclient Using cached https://mirrors.aliyun.com/pypi/packages/61/68/810093cb579daae426794bbd9d88aa830fae296e85172d18cb0f0e5dd4bc/mysqlclient-2.2.7.tar.gz (91 kB) Installing build dependencies ... done Getting requirements to build wheel ... error error: subprocess-exited-with-error × Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> [33 lines of output] /bin/sh: 1: pkg-config: not found /bin/sh: 1: pkg-config: not found /bin/sh: 1: pkg-config: not found /bin/sh: 1: pkg-config: not found Trying pkg-config --exists mysqlclient Command 'pkg-config --exists mysqlclient' returned non-zero exit status 127. Trying pkg-config --exists mariadb Command 'pkg-config --exists mariadb' returned non-zero exit status 127. Trying pkg-config --exists libmariadb Command 'pkg-config --exists libmariadb' returned non-zero exit status 127. Trying pkg-config --exists perconaserverclient Command 'pkg-config --exists perconaserverclient' returned non-zero exit status 127. Traceback (most recent call last): File "/root/myenv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module> main() File "/root/myenv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main json_out['return_val'] = hook(**hook_input['kwargs']) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/myenv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel return hook(config_settings) ^^^^^^^^^^^^^^^^^^^^^ File "/tmp/pip-build-env-2ffqty5o/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line
最新发布
03-10
<think>好的,我需要帮用户解决在Ubuntu 24上使用pip3安装mysqlclient时遇到的pkg-config未找到错误。根据用户提供的引用内容,看起来这个问题通常是因为缺少必要的系统依赖库导致的。 首先,用户提到在Ubuntu 22和CentOS 7上安装mysqlclient时也遇到过类似的问题,尝试降低版本后虽然安装成功,但后续操作出现错误,这可能是因为版本不兼容。所以可能需要安装正确的依赖而不是降级mysqlclient。 查看引用中的解决方案,比如引用[1]和[3]都建议安装python3-dev、default-libmysqlclient-dev、build-essential这些包,还有pkg-config。用户现在的错误是找不到pkg-config,所以可能需要先安装pkg-config这个工具。 步骤应该是:首先更新系统包列表,然后安装所需的依赖项,包括pkg-configpython3-dev、default-libmysqlclient-dev和build-essential。安装完成后,再次尝试用pip3安装mysqlclient。 另外,用户提到在Ubuntu 24上,可能需要确认这些包的名字是否有变化,或者是否有新的依赖项需要安装。但根据现有的引用信息,这些步骤应该仍然适用。如果安装后依然有问题,可能需要检查错误信息,确认是否有其他缺失的库,或者考虑使用虚拟环境等进一步措施。</think>### 解决方案:解决Ubuntu 24安装mysqlclient时的pkg-config错误 #### 步骤1:安装系统依赖 运行以下命令安装必要依赖: ```bash sudo apt update sudo apt install pkg-config python3-dev default-libmysqlclient-dev build-essential ``` - **作用**: - `pkg-config`:帮助编译器查找库文件路径(解决报错核心)[^4] - `python3-dev`:提供Python C扩展头文件 - `default-libmysqlclient-dev`:MySQL客户端开发库 - `build-essential`:包含编译工具链(如gcc) #### 步骤2:验证依赖安装 检查`pkg-config`是否生效: ```bash pkg-config --cflags --libs mysqlclient ``` 若输出包含`-I/usr/include/mysql -lmysqlclient`则说明配置成功[^3]。 #### 步骤3:安装mysqlclient 通过pip安装: ```bash pip3 install mysqlclient ``` 若仍报错,尝试指定`mysqlclient`版本(如`pip3 install mysqlclient==2.2.0`)。 #### 其他情况处理 若出现`mysql_config not found`错误,需手动链接: ```bash sudo ln -s /usr/bin/mysql_config /usr/local/bin/mysql_config ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值