[Python] MySQLdb(即 MySQL-python 包)在 OS X 中安装指南
本文参考:http://www.cnblogs.com/ifantastic/archive/2013/04/13/3017677.html
安装环境:OS X 操作系统,Python 2.7.10
。
MySQLdb 其实包含在 MySQL-python 包中,因此无论下载还是在 pip 中 search,都应该是搜寻 MySQL-python。
以下将说明 MySQLdb 两种常见的安装方式,下载安装或者 pip 安装 MySQL-python。
下载MySQLdb
1.可在pip中搜索最新版本MySQL-python 1.2.5, 也可以在github上下载指定版本 MySQL-python 1.2.3。 (我当前下载的是1.2.3版本)
使用 pip 安装 MySQLdb
在终端中执行:
new-host-3:~ iFantastic$ pip install MySQL-python
无论是在线安装还是下载安装,此时你可能会遇到第一个错误提示:
EnvironmentError: mysql_config not found
建议使用pip安装,因为我从 sourceforge 下载的版本居然不如 pip 中的新。如果想要升级 mysql-python 版本,可以使用以下命令:
$ easy_install MySQL-python --upgrade
[注意]如果你没有按照下文解决安装中的错误提示,那么升级也会因为同样的错误原因而失败。
解决 mysql_config not found 错误
(个人推荐使用该方法解决问题)
在默认方式安装 Mac 版 MySql 时,会在 /usr/local/mysql/bin 目录下生成 mysql_config 文件。
因此下载安装时的解决办法为:在 MySQL-python 的安装包中找到 site.cfg 文件,打开它,找到以下内容:
# The path to mysql_config.
# Only use this if mysql_config is not on your PATH, or you have some weird
# setup that requires it.
# mysql_config = /usr/local/bin/mysql_config
将最后一句句首井号去掉,并修改为:
mysql_config = /usr/local/mysql/bin/mysql_config
然后执行:
$ python setup.py install
一般说来,此时安装可以完成,但仍有问题,下文会继续阐述。
使用 pip 安装时没有办法修改 site.cfg 文件,因此可以通过修改 OS X 的系统环境变量来解决找不到 mysql_config 的错误。
修改 OS X 环境变量:打开终端,在终端中使用 vim 打开 “~/.bash_profile”,如果没有安装 vim,那就显示隐藏文件用文本编辑器打开,具体操作这里就不复述了。在 .bash_profile 中添加以下内容:
(我本人不太建议这种改法,因为更改系统配置文件影响的是整个系统,而更改安装包中的配置文件仅仅只影响一个工具。)
PATH="/usr/local/mysql/bin:${PATH}"
export PATH
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/
export VERSIONER_PYTHON_PREFER_64_BIT=no
export VERSIONER_PYTHON_PREFER_32_BIT=yes
其中 VERSIONER_PYTHON_PREFER_64_BIT 和 VERSIONER_PYTHON_PREFER_64_BIT 根据自己安装的 MySQL 进行选择。
另外再提供一个 pip 安装时找不到 mysql_config 的解决方法(我没有验证),在终端中输入以下命令:
$ sudo ln -s /usr/local/mysql/bin/* /usr/bin
好了,到这里,MySQL-python 包应该基本顺利安装。
解决 Reason: image not found 错误
安装完 MySQL-python 包后,让我们 import MySQLdb,此时出现一个错误,错误最后一行写着 Reason: image not found。
解决方法是在终端执行:
$ sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
$ sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql
之后重启 idle,成功导入 MySQLdb。
PS: 在 Ubuntu 下使用 pip 安装 MySQL-python 同样会出现 mysql_config no found 的错误提示,建议使用 sudo apt-get install python-mysqldb 来进行安装,这样直接可以安装成功。
如果使用 MacPorts 安装 MySQL,MacPorts 安装的源码包都存放在 /opt 目录下,安装完 MySQL 后,使用 port select --list mysql 查看一下当前启用的 MySQL 版本(初次安装完毕后应该是没有启用任何版本的 MySQL),然后使用 port select --set mysql mysql_you_selected 来设置启用的 MySQL 版本,之后再使用 pip 安装则无需担心 mysql-config 的问题。
[Python] MySQLdb(即 MySQL-python 包)在 OS X 中安装指南的更多相关文章
- python MySQLdb连接mysql失败(转载)
最近了解了一下django,数据库选用了mysql, 在连接数据库的过程中,遇到一点小问题,在这里记录一下,希望能够对遇到同样的问题的朋友有所帮助,少走一些弯路.关于django,想在这里也额外说一句 ...
- python MySQLdb用法,python中cursor操作数据库(转)
数据库连接 连接数据库前,请先确认以下事项: 您已经创建了数据库 TESTDB. 在TESTDB数据库中您已经创建了表 EMPLOYEE EMPLOYEE表字段为 FIRST_NAME, LAST_N ...
- python -- MySQLdb连接mysql数据库
1. python安装mysql $ pip install mysql-python 2. 数据库连接程序: import MySQLdb # 打开数据库连接db = MySQLdb.connect ...
- python MySQLdb 对mysql基本操作方法
#!/usr/bin/env python # -*- coding:utf-8 -*- import MySQLdb conn = MySQLdb.connect(host=',db='host') ...
- python MySQLdb连接mysql时报错
故障现象: >>> import MySQLdb >>> conn = MySQLdb.connect(host=,charset="utf8" ...
- Python MySQLdb模块连接操作mysql数据库实例_python
mysql是一个优秀的开源数据库,它现在的应用非常的广泛,因此很有必要简单的介绍一下用python操作mysql数据库的方法.python操作数据库需要安装一个第三方的模块,在http://mysql ...
- #MySQL for Python(MySQLdb) Note
#MySQL for Python(MySQLdb) Note #切记不要在python中创建表,只做增删改查即可. #步骤:(0)引用库 -->(1)创建连接 -->(2)创建游标 -- ...
- Python标准库09 当前进程信息 (os包)
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们在Linux的概念与体系,多次提及进程的重要性.Python的os包中有查询和 ...
- (转)python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)
阅读目录 1.1.1导入模块 1.1.2__name__ 1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代 ...
随机推荐
- SQL Server Profiler
一.SQL Profiler工具简介 SQL Profiler是一个图形界面和一组系统存储过程,其作用如下: 图形化监视SQL Server查询: 在后台收集查询信息: 分析性能: 诊断像死锁之类的问 ...
- Jmeter基础之---jmeter基础概念
Jmeter基础之---jmeter基础概念 JMeter 介绍: 一个非常优秀的开源的性能测试工具. 优点:你用着用着就会发现它的重多优点,当然不足点也会呈现出来. JMeter 介绍: 一个非常优 ...
- ANDROID学习之路 转
版权声明:本文为 stormzhang 原创文章,可以随意转载,但必须在明确位置注明出处!!! 这篇博客背后的故事 一路走来很不容易,刚好知乎上被人邀请回答如何自学android编程, 就借这个机会在 ...
- koa知识点
1. Koa 不支持 直接调用底层 res 进行响应处理.请避免使用以下 node 属性: res.statusCode res.writeHead() res.write() res.end() 2 ...
- linux 维护常见场景小命令 (未完待续)
1.安装KDE桌面 [root@rhel06 ~]# yum -y groupinstall "X Windows System" "KDE Desktop" ...
- CentOS 6.5下配置iSCSI网络存储
一.简介 iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行 SCSI协议,使其能 ...
- [2015.08.13]万峰快递单打印软件 v2.2
<万峰快递单打印软件>是一款简单易用,且支持所有快递单的打印软件.1.支持文字打印位置的坐标精确定位和微调的打印工具.2.操作灵活,只需录入收件人和发件人信息即可打印:3.快递单打印尺寸和 ...
- 【转】Java代码规范
[转]Java代码规范 http://blog.csdn.net/huaishu/article/details/26725539
- 集合Collection
/* * 集合的由来: * 我们学习的是面向对象语言,而面向对象语言对事物的描述是通过对象体现的,为了方便对多个对象进行操作,我们就必须把这多个对象进行存储. * 而要想存储多个对象,就不能是一个基本 ...
- 使用composer管理php项目
composer global require "fxp/composer-asset-plugin:~1.1.1" composer create-project --prefe ...