在玩django的同时,必须需要mysqlclient和pillow包,想在本地Mac上装上mysqlclient,但着实遇到不少坑,最终还是在github issue中找到了解决方法,这里记录一下,也让遇到同样问题的朋友快速解决。

首先,需要安装mysql,并依赖openssl,这个就不说了,直接官网下载mysql安装包无脑安装就好了

1、这时,你想试一下安装mysqlclient,于是通过pip进行安装尝试:

pip3 install mysqlclient

这时你会得到一个错误:

Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/0h/jn4vphd94wsf0sl01jb74p200000gn/T/pip-build-75a5emrb/mysqlclient/

2.别急,照着步骤做:通过brew安装 mysql-connector-c

brew install mysql-connector-c

3.安装后你可以找到mysql_config这个源文件,在里面找到如下内容 

可以通过which mysql_config去查找

# Create options

libs="-L$pkglibdir"

libs="$libs -l "

将他替换成

# Create options

libs="-L$pkglibdir"

libs="$libs -lmysqlclient -lssl -lcrypto"

这时尝试安装mysqlclient,又出现另一个错误

Command "/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 -u -c "import 
setuptools, tokenize;__file__='/private/var/folders/0h/jn4vphd94wsf0sl01jb74p200000gn/T/pip-build-7dif93uz/mysqlclient/setup.py';
f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))"
install --record /var/folders/0h/jn4vphd94wsf0sl01jb74p200000gn/T/pip-ljzyp5xt-record/install-record.txt --single-version-externally-managed --compile"
failed with error code 1 in /private/var/folders/0h/jn4vphd94wsf0sl01jb74p200000gn/T/pip-build-7dif93uz/mysqlclient/

不要急,这时因为没有openssl环境变量,这样做

vim ~/.bash_profile

export LDFLAGS="-L/usr/local/opt/openssl/lib"

export CPPFLAGS="-I/usr/local/opt/openssl/include"

添加完之后source一下

最后,再次安装mysqlclient

pip3 install mysqlclient

你会看到

Collecting mysqlclient

Using cached mysqlclient-1.3.12.tar.gz

Installing collected packages: mysqlclient

Running setup.py install for mysqlclient ... done

Successfully installed mysqlclient-1.3.12

这样就ok了

Mac OS下安装mysqlclient遇到的一些坑的更多相关文章

  1. Mac OS 下安装mysqlclient报“mysql_config not found”的解决

    如问题所示,应该是你没有将mysql_config所在文件夹加入系统的PATH路径,解决方案下: 1.第一步找到你的mysql_config所在位置 1.1. 如果是直接安装mysql,所在位置应该是 ...

  2. wget Mac OS 下安装

    wget是一个从网络上自动下载文件的自由工具,支持通过HTTP.HTTPS.FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理. 下面介绍如何在Mac OS 下安装Wget 下载最新版的 ...

  3. Mac os下安装pycurl

    今天在Mac OS 10.9.2下安装pycurl时候失败,出现以下问题 Using curl-config (libcurl 7.30.0) clang: error: unknown argume ...

  4. 关于在Mac OS下安装npm与cnpm的ERR! Darwin 15.0.0解决办法

    mac os安装好了很久了,不过没怎么用,昨天想要体验一下大神们推荐的黑苹果系统用起来怎么样(关于安装黑苹果的可以到我的简书去看相关文章),于是乎,打开久违的vmware,看着咬一口的苹果进度图,心中 ...

  5. Mac OS 下安装mysql环境

    传送门:Mac下安装与配置MySQL   mac 上怎么重置mysql的root的密码? 一.下载mysql 进入官方下载地址:https://www.mysql.com/downloads/ 1.找 ...

  6. mac OS下 安装MySQL 5.7

    Mac OS X 下 TAR.GZ 方式安装 MySQL 5.7 与 MySQL 5.6 相比, 5.7 版本在安装时有两处不同: 1:初始化方式改变, 从scripts/mysql_install_ ...

  7. Mac OS 下安装wget

    环境:  Mac OS X 10.9.4 1 下载源码 地址: http://ftp.gnu.org/gnu/wget/wget-1.9.tar.gz 2 解压安装 tar zxvf wget-1.9 ...

  8. Mac OS 下安装rar unrar命令

    环境 操作系统:Mac OS X 10.9.4 1. 下载 地址: http://www.rarlab.com/rar/rarosx-5.2.0.tar.gz 2. 安装 解压后进入目录 MacBoo ...

  9. Mac OS 下安装和配置 maven

    1. 安装 Maven 前的必须准备 需先安装 Java 环境 下载合适的 JDK 配置 JDK 环境变量 JAVA_HOME:为 JDK 安装目录 Path:为 JDK/bin 目录 测试是否成功: ...

随机推荐

  1. 汇编指令mov、add、sub、jmp

    mov:寄存器,数据 mov:寄存器,寄存器 mov:寄存器,内存单元 mov:段寄存器,内存单元 mov:内存单元,寄存器 mov:内存单元,段寄存器 mov:段寄存器,寄存器 mov:寄存器,段寄 ...

  2. 掌握SpringBoot-2.3的容器探针:实战篇

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:原创文章分类汇总,及配套源码,涉及Java.Docker.K8S.DevOPS等 经过多篇知识 ...

  3. Python报错:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

    运行python文件的时候报错: SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2 ...

  4. watch监听事件

    Vue.js 监听属性 watch,可以通过 watch 来响应数据的变化.以下实例通过使用 watch 实现计数器: <div id="app">           ...

  5. Python类中装饰器classmethod,staticmethod,property,

    @classmethod 有的时候在类中会有一种情况,就是这个方法并不需要使用每一个对象属性 因此 这个方法中的self参数一个完全无用的参数,使用classmethod class A: __cou ...

  6. abp-CMS模块-广告

    无论是开发app还是网站,可能都需要一个广告功能,比如我们常见的在首页有个轮播广告,里面会轮播显示多个图片.还有比如一个新闻门户网站 很常见的 banner横幅广告,还有js特效广告等.本篇说说在ab ...

  7. (四)进行HTTPS请求并进行(或不进行)证书校验(示例)

    原文:https://blog.csdn.net/justry_deng/article/details/81042379 相关方法详情(非完美封装): /** * 根据是否是https请求,获取Ht ...

  8. 【JMeter_16】JMeter逻辑控制器__随机控制器<Random Controller>

    随机控制器<Random Controller> 业务逻辑: 当每次执行到该逻辑控制器时,随机挑选控制器下的任意一个子节点<取样器.逻辑控制器> Ignore sub-cont ...

  9. react 的一个插件

    Reactjs code snippets  (vs code  编辑器里面的一个插件    支持 react 得简写) rcc     和 rfc    可以快速生成react代码 下面网址是个re ...

  10. 3D 立体动态图 代码:

    CSS样式: <style>*{ margin:0; padding:0;}body{ max-width: 100%; min-width: 100%; height: 100%; ba ...