简单记录 Mac OS pip 安装mysqlclient报错处理过程

系统:



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 失败问题解决的更多相关文章

  1. Mac OS安装Scrapy失败

    报错: DEPRECATION: Uninstalling a distutils installed project (six) has been deprecated and will be re ...

  2. Mac os安装DVWA环境教程

    Mac os安装DVWA环境教程 1.尽管Mac自带Apache和php 事实上Mac和WIN都用XAMPP一键化安装比较方便 2.解压DVWA-master 改名为dvwa移动到XAMPP的目录 3 ...

  3. mac OS 安装配置Nginx服务器

    系统环境 安装工具 Homebrew软件包管理器 :<mac OS 安装 Homebrew软件包管理器>https://blog.csdn.net/weixin_41791279/arti ...

  4. <亲测好使>mac os 安装mcrypt扩展

    以前安装opencart的时候倒是不需要mcrypt 这个库.但是新版本需要了.加上自己的 是mac环境.当时闲麻烦,就一直没装.这次下午就寻思给装上吧! 1.首先你要先安装xcode这个工具.不然没 ...

  5. Mac OS安装Windows各版本时注意事项(2014年后的Mac机相信会有这些问题)

    2014年后的Mac Mini安装Windows时候,会遇上更种坑,我这几天不断失败及尝试更种版本,各有心得体会,我写下来是为了避免大家遇到像我这种问题. (2014年之前的Mac Mini是否这样, ...

  6. YII 框架在 MAC OS下 连接数据库失败 提示 DB connection: SQLSTATE[HY000] [2002]

    作者:zccst CDbConnection failed to open the DB connection: SQLSTATE[HY000] [2002] No such file or dire ...

  7. Mac OS 安装Wget

    没有Wget的日子是非常难过的,强大的Mac OS 下安装Wget非常简单 下载一个Wget的源码包,http://www.gnu.org/software/wget/ 安装与配置 1. 首先下载一个 ...

  8. Mac OS安装Scrapy

    个人觉得掌握简单的爬虫知识非常有用,特别是想要从一些特定网站自动地下载一些资源或者统计一些数据,非常的有用.对于产品经理来说,如果要了解竞争产品.替代产品的价格,可以写一个爬虫脚本从各大电商网站爬取相 ...

  9. Mac OS安装octave出现的问题-'error:terminal type set to 'unknown'的解决'

    学习Machine learning需要使用Octave语言,毕竟Andrew Ng (恩达.吴)力荐.本机系统Mac OS X EI Capitan, 其实什么系统都无所谓了,安装原理都是一样的. ...

  10. Python 环境搭建(Win 安装以及Mac OS 安装)

    千里之行始于足下,今天我们先来学习 Python 环境搭建. 注意:本系列教程基于 Python 3.X Python 环境搭建 Win 安装 打开 Python 官网 https://www.pyt ...

随机推荐

  1. Java SPI机制学习之开发实例

    原创/朱季谦 在该文章正式开始前,先对 Java SPI是什么做一个简单的介绍. SPI,是Service Provider Interface的缩写,即服务提供者接口,它允许开发人员定义一组接口,并 ...

  2. windows11配置wsl2虚拟linux环境

    windows11配置wsl2虚拟linux环境 wsl( Windows Subsystem for Linux )是microsoft官方为windows开发的模拟Linux方法.避免了虚拟机vm ...

  3. windows 下终止nginx 进程 重新启动nginx

    进入cmd 输入一下命令 删除nginx所有进程 taskkill /f /t /im nginx.exe

  4. 「保姆级」网络爬虫教程(二):教你下载文库中的PDF文档!

    如何点赞再看,养成习惯.微信公众号搜索「Job Yan」关注这个爱发技术干货的 Coder.本文 GitHub https://github.com/JobYan/PythonPearls 已收录,还 ...

  5. promise时效架构升级方案的实施及落地

    一.项目背景 为什么需要架构升级 promise时效包含两个子系统:内核时效计算系统(系统核心是时效计算)和组件化时效系统(系统核心是复杂业务处理以及多种时效业务聚合,承接结算下单黄金流程流量),后者 ...

  6. 国企项目就用国产的 Solon Java Framework,v2.5.12 发布

    Solon 是什么框架? Java 新的生态级应用开发框架.国产.从零开始构建,有自己的标准规范与开放生态(历时五年,具备全球第二级别的生态规模).与其他框架相比,解决了两个重要的痛点:启动慢,费内存 ...

  7. L2-040 哲哲打游戏

    这题读懂题目之后就发现它很呆 #include <bits/stdc++.h> using namespace std; const int N = 100010, M = 110; ve ...

  8. [USACO2007OPENG] Dining G

    题目描述 Cows are such finicky eaters. Each cow has a preference for certain foods and drinks, and she w ...

  9. 火山引擎ByteHouse基于云原生架构的实时导入探索与实践

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 随着企业降本增效.智能化数据决策需求的增强,传统的商业数据库已经难以满足和响应快速增长的业务诉求.在此背景下,云原 ...

  10. RV1126 分区教程

    一.前言 期初我是想弄一个分区存放自己的 APP 程序,如果需要更改应用的时候,只需要烧写独立的分区即可,就不需要重新烧写 rootfs.这是一个简单的操作,为啥还需要记录了,因为我在里面遇到了一些坑 ...