[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模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代 ...
随机推荐
- Eclipse中将Java项目转换成Web项目的方法
前言: 用Eclipse开发项目的时候,把一个Web项目导入到Eclipse里会变成了一个java工程,将无法在Tomcat中进行部署运行. 方法: 1.找到.project文件,找到里面的<n ...
- 动态sql语句基本语法--Exec与Exec sp_executesql 的区别
http://www.cnblogs.com/goody9807/archive/2010/10/19/1855697.html 动态sql语句基本语法 1 :普通SQL语句可以用Exec执行 ...
- Shell编程之--“grep-awk-sed” 基础用法汇总-菜鸟入门级
- aspx aspx.cs
http://www.cnblogs.com/axzxs2001/archive/2009/01/19/1378383.html
- STM32固件库3.5+uCOS2.86移植(转自暴走的工程师)
考了很多移植的资料和代码,终于移植好了...应该是完美移植吧~~哈哈哈~~ 编译环境是IAR 工程适用于STM32F10X大容量产品,如果不是,请自行修改启动文件和工程配置 编译器优化等级最高...这 ...
- USVN
我们最近将快盘上的东西迁移到了svn上,因为快盘总是不会不小心删掉或者修改了某些文件.为了能保留历史记录我们统一迁移到svn上.为了方便权限管理,我对比了几个svn的权限管理工具,最后觉得还是usvn ...
- Outlook2013 最小化Com加载项
- 找不到方法:“Boolean System.Runtime.Serialization.DataContractAttribute.get_IsReference()”的解决办法
找不到方法:“Boolean System.Runtime.Serialization.DataContractAttribute.get_IsReference()”.的解决办法站点发布后部署到了两 ...
- PowerProfile.java与power_profile.xml
转载自http://blog.csdn.net/green1900/article/details/42427871 现在诸多关于电池管理的应用做的极其绚烂,可实现如耗电应用排行.剩余时间计算.关闭耗 ...
- mfc 控件字体设置
将以下代码加入至 OnInitDialog() 中 // TODO: Add extra initialization here CFont * m_font= new CFont; m_font-& ...