在 mac 上安装 mysqlclient 遇到了一些问题,查找资料很多人都遇到了同样的问题。通过资料和试验,成功了。这里记录一下,希望帮到遇到同样问题的人。

本人使用python3, 安装步骤如下:

brew install mysql-connector-c

pip3 install mysqlclient

当执行 pip3 install mysqlclient 是出现错误:

➜ /usr/local/Cellar/mysql-connector-c/6.1./bin >pip3 install mysqlclient
Collecting mysqlclient
Using cached mysqlclient-1.3..tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line , in <module>
File "/private/var/folders/2w/56bgkvqd1xldl56fx_gx_fg00000gn/T/pip-build-f9admsgv/mysqlclient/setup.py", line , in <module>
metadata, options = get_config()
File "/private/var/folders/2w/56bgkvqd1xldl56fx_gx_fg00000gn/T/pip-build-f9admsgv/mysqlclient/setup_posix.py", line , in get_config
libraries = [dequote(i[:]) for i in libs if i.startswith('-l')]
File "/private/var/folders/2w/56bgkvqd1xldl56fx_gx_fg00000gn/T/pip-build-f9admsgv/mysqlclient/setup_posix.py", line , in <listcomp>
libraries = [dequote(i[:]) for i in libs if i.startswith('-l')]
File "/private/var/folders/2w/56bgkvqd1xldl56fx_gx_fg00000gn/T/pip-build-f9admsgv/mysqlclient/setup_posix.py", line , in dequote
if s[] in "\"'" and s[] == s[-]:
IndexError: string index out of range ----------------------------------------

解决方案:mysql_config

执行:vim mysql_config,搜索 libs,或者114行,替换为115行即可

 # Create options
libs="-L$pkglibdir"
#libs="$libs -l " ##源代码
libs="$libs -lmysqlclient -lssl -lcrypto " ##修改成这样

再次执行pip3 install mysqlclient,成功了。如下所示:

➜ /usr/local/Cellar/mysql-connector-c/6.1./bin >pip3 install mysqlclient
Collecting mysqlclient
Using cached mysqlclient-1.3..tar.gz
Building wheels for collected packages: mysqlclient
Running setup.py bdist_wheel for mysqlclient ... done
Stored in directory: /Users/kk/Library/Caches/pip/wheels/df/bb//bf7c315cbe163515db1c846e4ffa5557dd785c82e82f3492e8
Successfully built mysqlclient
Installing collected packages: mysqlclient
Successfully installed mysqlclient-1.3.

mac 安装 python mysqlclient 遇到的问题及解决方法的更多相关文章

  1. win安装python模块出现依赖问题的解决方法 & No module named 'MySqldb'

    前言 一年多了,还在写这种问题,羞愧. 新公司不让用自己的电脑,配的winPC,项目启不起来,之前也出现过这个问题,是py3缺少某个模块,但是自己没记,这次记一下好了. No module named ...

  2. Mac安装软件时提示已损坏的解决方法

    问题描述 最近安装从网上下载的软件,安装完之后打开提示xxx已损坏,打不开,软件无法打开. 其实,这是新系统(macOS Sierra 10.12.X)新安全机制的锅,它默认不允许用户自行下载安装应用 ...

  3. 安装Python的机器学习包Sklearn 出错解决方法

    1 首先须要安装Cython.网上下载后进行本地安装 python setup.py install 2 下载Sklearn包,https://pypi.python.org/pypi/scikit- ...

  4. Mac安装软件时 提示已损坏的解决方法

    进入终端: sudo spctl --master-disable

  5. python使用pip安装第三方模块遇到的问题及解决方法

    python使用pip安装第三方模块遇到的问题及解决方法 关注公众号"轻松学编程"了解更多. 使用国内源: 清华:https://pypi.tuna.tsinghua.edu.cn ...

  6. Mac下新安装的MySQL无法登陆root用户解决方法

      一 设置MySQL命令行搜索路径 0.苹果->系统偏好设置->最下边点mysql 在弹出页面中 启动mysql服务 1.打开终端,输入: sudo vi ~/.bash_profile ...

  7. python3.4学习笔记(十九) 同一台机器同时安装 python2.7 和 python3.4的解决方法

    python3.4学习笔记(十九) 同一台机器同时安装 python2.7 和 python3.4的解决方法 同一台机器同时安装 python2.7 和 python3.4不会冲突.安装在不同目录,然 ...

  8. [转载]关于安装Android Studio的一些问题的解决方法

    最近在研究Android编程,在Android Studio安装和使用时遇到了麻烦,从园子里找到了<关于安装Android Studio的一些问题的解决方法>的,很多问题找到了解决办法. ...

  9. windows8 8.1 安装完 ubuntu无法挂载 ntfs分区 解决方法

    windows8 8.1 安装完 ubuntu无法挂载 ntfs分区 解决方法: 最近安装完发现8.1系统后,ubuntu无法加载以前的ntfs分区了,特别是我添加到了/etc/fstab里面了 导致 ...

随机推荐

  1. 20169207 《Linux内核原理与分析》第十一周作业

    阅读学习教材「Linux内核设计与实现 (Linux Kernel Development)」第教材第17,19,20章. 在第17章设备与模块章节,关于设备驱动和设备管理,我们讨论四中内核成分. 1 ...

  2. concurrent.future

    concurrent.future module provides a high-level interface for asynchronously executing callables. Bas ...

  3. Java数据类型、赋值、类型转换、==运算

    数据类型 基本数据类型:即int/char等这样的数值类型,共8种 引用类型:除了基本数据类型之外都是引用类型:包括API中的类:如String.File:也包括自定义的类:如Personal.ABC ...

  4. cpld fpga 区别

    cpld fpga 区别 系统的比较,与大家共享: 尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点: ①CPLD更适合完成各种算法和 ...

  5. AngularJS config run 及区别和例子

    一.config方法 在模块加载阶段,对模块进行自定义配置 config可以注入$stateProvider, $urlRouterProvider, $controllerProvider, $pr ...

  6. java 调用c++程序实例

    1.java程序: package com.zhangshitong; import java.io.File; public class Java2cpp { static{ System.load ...

  7. RxSwift学习笔记5:Binder

    使用 Binder 创建观察者 //Observable序列(每隔1秒钟发出一个索引数) let scheduleObservable = Observable<Int>.interval ...

  8. vsm安装

    一. 部署环境介绍 软件需求 1) CentOS 6.5 64bit 2) Ceph 0.80.6 网络拓扑介绍 1) Controller Node 由Console节点组成,安装VSM控制平台 2 ...

  9. uniGUI 通过SessionList操作另外的登录用户

    参照bbs,写了这个方法,检查是否有同名用户已经登录:procedure TUniMainModule.CheckSameUser(aUserLoginCode: string);var  ASess ...

  10. [leet code 135]candy

    1 题目 There are N children standing in a line. Each child is assigned a rating value. You are giving ...