Mac OS 安装mysqlcliet 失败问题解决

摘要:
只需记录在Mac OSpip系统上安装mysqlclient的错误处理过程:python:python 3.8.2在虚拟环境中直接安装mysqlclient将报告错误Usingcachedhttps://files.pythonhosted.org/packages/f4/f1/3bb6f64ca7a429729413e6556b7ba5976df06019a5245a43d36032f1061e/mysqlcli

简单记录 Mac OS pip 安装mysqlclient报错处理过程
系统:
Mac OS 安装mysqlcliet 失败问题解决第1张
python: Python 3.8.2 虚拟环境

直接安装 mysqlclient 会报错

Using cached https://files.pythonhosted.org/packages/f4/f1/3bb6f64ca7a429729413e6556b7ba5976df06019a5245a43d36032f1061e/mysqlclient-1.4.2.post1.tar.gz
    ERROR: Complete output from command python setup.py egg_info:
    ERROR: /bin/sh: mysql_config: command not found
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/6c/jdnqnjsx48d8qj0kwn751c580000gn/T/pip-install-bz44wlso/mysqlclient/setup.py", line 16, in <module>
        metadata, options = get_config()
      File "/private/var/folders/6c/jdnqnjsx48d8qj0kwn751c580000gn/T/pip-install-bz44wlso/mysqlclient/setup_posix.py", line 51, in get_config
        libs = mysql_config("libs")
      File "/private/var/folders/6c/jdnqnjsx48d8qj0kwn751c580000gn/T/pip-install-bz44wlso/mysqlclient/setup_posix.py", line 29, in mysql_config
        raise EnvironmentError("%s not found" % (_mysql_config_path,))
    OSError: mysql_config not found

报错的原因是:mysql_config not found

在网上找了一圈,解决办法:

brew install mysql

然后分步走:

  1. 查找mysql_config文件夹位置sudo find / -name mysql_config,一般在/usr/local/Cellar/mysql/8.0.27/bin/mysql_config这个路径下
  2. 将mysql_config链接到/usr/local/bin目录下 ln -s /usr/local/Cellar/mysql/8.0.27/bin/mysql_config /usr/local/bin/mysql_config

做完这两步,就可以在终端里打印出mysql_config。输入mysql_config --version,能够输出

mysql_config -version
Usage: /usr/local/bin/mysql_config [OPTIONS]
Compiler: AppleClang 12.0.0.12000032
Options:
        --cflags         [-I/usr/local/Cellar/mysql/8.0.27/include/mysql ]
        --cxxflags       [-I/usr/local/Cellar/mysql/8.0.27/include/mysql ]
        --include        [-I/usr/local/Cellar/mysql/8.0.27/include/mysql]
        --libs           [-L/usr/local/Cellar/mysql/8.0.27/lib -lmysqlclient -lz -lzstd -lssl -lcrypto -lresolv]
        --libs_r         [-L/usr/local/Cellar/mysql/8.0.27/lib -lmysqlclient -lz -lzstd -lssl -lcrypto -lresolv]
        --plugindir      [/usr/local/Cellar/mysql/8.0.27/lib/plugin]
        --socket         [/tmp/mysql.sock]
        --port           [0]
        --version        [8.0.27]
        --variable=VAR   VAR is one of:
                pkgincludedir [/usr/local/Cellar/mysql/8.0.27/include/mysql]
                pkglibdir     [/usr/local/Cellar/mysql/8.0.27/lib]
                plugindir     [/usr/local/Cellar/mysql/8.0.27/lib/plugin]

这时安装还会报错,如下:

In file included from MySQLdb/_mysql.c:29:
    In file included from /usr/local/Cellar/mysql/8.0.27/include/mysql/mysql.h:45:
    In file included from /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/include/stdint.h:52:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdint.h:52:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:32:
    /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/cdefs.h:807:2: error: Unsupported architecture
    #error Unsupported architecture

原因是 架构不支持。痛苦的尝试了一段时间后,找个一个解决办法,声明架构

export ARCHFLAGS="-arch x86_64"

安装成功:

(dev) ➜  bin pip install mysqlclient
Collecting mysqlclient
  Using cached mysqlclient-2.1.0.tar.gz (87 kB)
  Preparing metadata (setup.py) ... done
Building wheels for collected packages: mysqlclient
  Building wheel for mysqlclient (setup.py) ... done
  Created wheel for mysqlclient: filename=mysqlclient-2.1.0-cp38-cp38-macosx_10_14_x86_64.whl size=56114 sha256=4a7b05f15f6983798e57dddcee8f07a8e28e96f15f19a2800b2e9a3f657dc07e
  Stored in directory: /Users/lijinkui/Library/Caches/pip/wheels/61/e7/42/9d56347e42d7ce19397c0ca050c6bef56640e18be7021ac189
Successfully built mysqlclient
Installing collected packages: mysqlclient
Successfully installed mysqlclient-2.1.0

参考链接:
https://www.jianshu.com/p/6411c14ce3f1
https://www.cnblogs.com/xwxz/p/15248092.html

免责声明:文章转载自《Mac OS 安装mysqlcliet 失败问题解决》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇IDEA设置git提交分支Linux及ArmLinux程序开发笔记(零基础入门篇)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

mysql ab主从复制出错及解决过程

一、mysql主从服务器报错描述:Slave_IO_Running=NO,Slave_SQL_Running=YES,Last_Errno=0 mysql slave stop ; mysql slave start; mysql show slave status ; 如果Slave_IO_Running=YES ...解决过程 :1 如果:Slave_...

python电脑结构、ARP协议、单位转换、字节bytes、字符串与字节关系等知识总结

目录 一、计算机五大部件 二、程序运行的过程 三、ARP协议 四、单位转换 五、数据类型:字节bytes 六、字符串和字节的关系 一.计算机五大部件 电脑之父——冯·诺伊曼提出了计算机的五大部件:输入设备、输出设备、存储器、运算器和控制器。 我们把键盘和鼠标叫输入设备。 输入设备: 向电脑输入数据和信息的设备。除了键盘。除了键盘鼠标,其他输入设备还包括触...

Mac 电脑如何安装mac os 和win7双系统(win7多分区)

                    转载:Mac 电脑如何安装mac os 和win7双系统(win7多分区)   本文主要参考了2篇博文,并通过自己的亲身实践总结的。参考的2篇博文地址:   http://wenku.baidu.com/link?url=ukCgLispRe7gq9VHVAa39O91hqtKPfVcWxjMLree0R5XiJsL...

Visual Studio 2013新建工程导入现有代码文件夹并且保持目录结构

本文提供了一个在Windows环境下使用Visual Studio 2013编辑现有源代码并且保持目录结构的方法。本文使用VS2013中文社区版做示例(本版本为免费版,可在VS官网下载),其他版本的VS操作方式类似。打开VS2013,选择【菜单】-【新建】-【从现有代码创建项目】 选择项目类型:Visual C++ 项目文件位置:创建完成后会在这个目录生成...

linux 操作 mysql 指定端口登录 以及启动 停止

linux 操作 mysql 指定端口登录 mysql -uroot -p -h10.154.0.43 -P3341 1、查看mysql版本方法一:status;方法二:select version(); 2、Mysql启动、停止、重启常用命令a、启动方式1、使用 service 启动:[root@localhost /]# service mysqld...

MySQL sql语句获取当前日期|时间|时间戳

1.1 获得当前日期+时间(date + time)函数:now() MySQL> select now(); +———————+ | now() | +———————+ | 2013-04-08 20:56:19 | +———————+ 除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数: current_time...