MAMP中Python安装MySQLdb

Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口。

MySQLdb 是用于Python链接Mysql数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的。

一、如何安装MySQLdb?

为了用DB-API编写MySQL脚本,必须确保已经安装了MySQL。复制以下代码,并执行:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

如果执行后的输出结果如下所示,意味着你没有安装 MySQLdb 模块:

Traceback (most recent call last):
  File "test.py", line 3, in <module>
    import MySQLdb
ImportError: No module named MySQLdb

安装MySQLdb,请访问 http://sourceforge.net/projects/mysql-python ,(Linux平台可以访问:https://pypi.python.org/pypi/MySQL-python)从这里可选择适合您的平台的安装包,分为预编译的二进制文件和源代码安装包。

如果您选择二进制文件发行版本的话,安装过程基本安装提示即可完成。如果从源代码进行安装的话,则需要切换到MySQLdb发行版本的顶级目录,并键入下列命令:

$ gunzip MySQL-python-1.2.2.tar.gz
$ tar -xvf MySQL-python-1.2.2.tar
$ cd MySQL-python-1.2.2
$ python setup.py build
$ python setup.py install

注意:请确保您有root权限来安装上述模块。

运行错误信息:

_mysql.c:44:10: fatal error: ‘my_config.h‘ file not found

原因是因为MySQL不是单独安装的,是安装的一个MAMP集成开发环境包,在MAMP中PHP和MySQL的头文件都是没有的,所以会报出这个错误。我们有两种解决方式,一种是重新编译MySQL,一种是单独安装mysq-connector-c,因为开发环境包已经自带了MySQL了,我们就不再编译安装了,单独安装就ok。

执行以下语句:

brew install mysql-connector-c

二、数据库连接

出现以下错误提示:

    sh: mysql_config: command not found
    Traceback (most recent call last):
      File "setup.py", line 17, in <module>
        metadata, options = get_config()
      File "/Users/macbook/Downloads/MySQL-python-1.2.5/setup_posix.py", line 43, in get_config
        libs = mysql_config("libs_r")
      File "/Users/macbook/Downloads/MySQL-python-1.2.5/setup_posix.py", line 25, in mysql_config
        raise EnvironmentError("%s not found" % (mysql_config.path,))
    EnvironmentError: mysql_config not found

修改setup_posix.py文件,代码如下

mysql_config.path = "/Applications/MAMP/Library/bin/mysql_config"

如果不知道其目录,可以使用一下命令查找

sudo find / -name mysql_config

完成该步骤之后可能仍然会出错:

    Traceback (most recent call last):
      File "./hello.py", line 3, in <module>
        import MySQLdb
      File "build/bdist.macosx-10.10-intel/egg/MySQLdb/__init__.py", line 19, in <module>
      File "build/bdist.macosx-10.10-intel/egg/_mysql.py", line 7, in <module>
      File "build/bdist.macosx-10.10-intel/egg/_mysql.py", line 6, in __bootstrap__
    ImportError: dlopen(/Users/macbook/.python-eggs/MySQL_python-1.2.5-py2.7-macosx-10.10-intel.egg-tmp/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
      Referenced from: /Users/macbook/.python-eggs/MySQL_python-1.2.5-py2.7-macosx-10.10-intel.egg-tmp/_mysql.so
      Reason: image not found

此时,需要执行命令

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

注意:该软连接的实际目录部分以自己机器上的目录为准

另外:MAMP出现如下错误提示:

ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘

找不到socket文件,查找本机文件所在位置

sudo find / -name mysql.sock

将文件地址作为参数传递到数据库连接语句

con=MySQLdb.connect(host=‘localhost‘,user=‘root‘,passwd=‘root‘,db=‘StudentDB‘,port=3306,unix_socket="/Applications/MAMP/tmp/mysql/mysql.sock",charset=‘utf8‘)

三、实例:

以下实例链接Mysql的StudentDB数据库:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import MySQLdb
import sys
import sys

reload(sys)

sys.setdefaultencoding(‘utf-8‘)

con=MySQLdb.connect(host=‘localhost‘,user=‘root‘,passwd=‘root‘,db=‘StudentDB‘,port=3306,unix_socket="/Applications/MAMP/tmp/mysql/mysql.sock",charset=‘utf8‘)

#获取 mysql 的链接对象
with con:
	#获取执行查询的对象
	cur = con.cursor()
	#执行那个查询,这里用的是 select 语句
	cur.execute("SELECT * FROM Student")
	#使用 cur.rowcount 获取结果集的条数
	numrows = int(cur.rowcount)
#循环 numrows 次,每次取出一行数据
for i in range(numrows):
	#每次取出一行,放到 row 中,这是一个元组(id,name)
	row = cur.fetchone()
	#直接输出两个元素
	print row[0], row[1]
时间: 2024-12-21 23:44:14

MAMP中Python安装MySQLdb的相关文章

windows(32位 64位)下python安装mysqldb模块

windows(32位 64位)下python安装mysqldb模块 www.111cn.net 编辑:mengchu9 来源:转载 本文章来给各位使用在此windows系统中的python来安装一个mysqldb模块教程,有需要了解学习的朋友可参考参考. 1.exe下载地址:http://www.codegood.com/archives/129 分为32位和64位,下载对应的exe即可 2.下载完后,双击exe安装即可 3.检查是否安装成功:如果安装成功,将没有任何提示,如下  代码如下 复

如何在使用MAMP环境下安装MySQLdb

我的电脑上没有安装XAMPP,而是安装了MAMP PRO,其实两者都差不多,都是PHP+MySQL+Apache的集成环境,只是MAMP的GUI界面更华丽一些,但是也更复杂一些. 好了不说这些,说说问题吧.首先我使用如下命令来安装MySQLdb: pip install mysql-python 但是错误提示,找不到mysql_config文件. 这个好办,找到这个文件添加到PATH路径下即可. find /Applications/MAMP -name mysql_config 可以得到路径是

python 安装MySQLdb mysql_config not fount原因

在安装MySQLdb模块的时候,无论是pip还是apt-get都出现如下的错误. [email protected]:~# cd MySQL-python-1.2.3 [email protected]:~/MySQL-python-1.2.3# python setup.py install  sh: mysql_config: not found Traceback (most recent call last):   File "setup.py", line 15, in &l

python安装mysqldb模块

今天在阿里云一台新的服务器部署程序后台,发现上面的python缺少MySQLDB 模块,记录安装过程. 首先django程序,运行 python manage.py sycdb 报错: ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb MySQLdb模块的包名字叫mysql-python,于是pip安装之,(关于pip,可以参考这篇文章) 运行: pip install mysql-python

Windows下python安装MySQLdb

安装MySQLdb需要在电脑上安装MySQL connector C,只需要这个connector就好,不需要把mysql装全. 另外,需要安装VC for python提供编译. 到官网上下载脚本进行安装即可,解压压缩包以后,cmd到目标目录,python setup.py install即可. 一般安装上会出错,提示找不到"config_win.h" mysql.c(34) : fatal error C1083: Cannot open include file: 'config

Linux 中 Python 安装 (https://www.bilibili.com/video/av22957476/?p=59)

下载——解包——运行configure添加编译参数——编译——安装 Linux中下载安装编译软件(gcc,glibc) Linux root上  写命令: yum  install gcc-* glibc-* -y         安装编译软件 Linux中下载安装开发工具 Linux root上  写命令: yum  groupinstall ‘开发工具’ -y 官网找到安装版本的python源码  复制地址 https://------- Linux root上  写命令: wget htt

Python 安装mysqldb

切换目录: cd /usr/local/src/ 一.下载资源 wget http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz 二.解压 tar zxvf MySQL-python-1.2.3.tar.gz 三.安装 cd MySQL-python-1.2.3 vim site.cfg 配置一下mysql_config,我的在/usr/bin/下,保存并退出

python 安装mysqldb组件

只能源码安装 源码下载: http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/ http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz/download apt-get安装前置的配套组件: sudo apt-get install python-setuptools sudo

Python安装MySQLdb模块安装

下载源码:http://sourceforge.net/projects/mysql-python/files/mysql-python-test/1.2.4b4/MySQL-python-1.2.4b4.tar.gz/download mv download MySQL-python-1.2.4b4.tar.gz tar -zxvf MySQL-python-1.2.4b4.tar.gz cd MySQL-python-1.2.4b4 python setup.py build 报错:mysq